GThreadNativeMethodRunner.java, [...]: Fixed usage of @author tag...

2005-02-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
	gnu/java/awt/peer/gtk/GdkFontPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	gnu/java/awt/peer/gtk/GdkRobotPeer.java,
	gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
	gnu/java/awt/peer/gtk/GdkTextLayout.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	java/applet/Applet.java,
	java/awt/AWTError.java,
	java/awt/AWTEvent.java,
	java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java,
	java/awt/AWTKeyStroke.java,
	java/awt/AWTPermission.java,
	java/awt/ActiveEvent.java,
	java/awt/Adjustable.java,
	java/awt/AlphaComposite.java,
	java/awt/AttributeValue.java,
	java/awt/BorderLayout.java,
	java/awt/BufferCapabilities.java,
	java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/CheckboxGroup.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Color.java,
	java/awt/ColorPaintContext.java,
	java/awt/Component.java,
	java/awt/ComponentOrientation.java,
	java/awt/Composite.java,
	java/awt/CompositeContext.java,
	java/awt/Container.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/DefaultFocusTraversalPolicy.java,
	java/awt/Dialog.java,
	java/awt/Dimension.java,
	java/awt/DisplayMode.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/FontFormatException.java,
	java/awt/Graphics.java,
	java/awt/Graphics2D.java,
	java/awt/GraphicsConfigTemplate.java,
	java/awt/GraphicsConfiguration.java,
	java/awt/GraphicsDevice.java,
	java/awt/GridBagLayout.java,
	java/awt/GridBagLayoutInfo.java,
	java/awt/GridLayout.java,
	java/awt/HeadlessException.java,
	java/awt/IllegalComponentStateException.java,
	java/awt/Image.java,
	java/awt/Insets.java,
	java/awt/ItemSelectable.java,
	java/awt/JobAttributes.java,
	java/awt/KeyEventDispatcher.java,
	java/awt/KeyEventPostProcessor.java,
	java/awt/KeyboardFocusManager.java,
	java/awt/Label.java,
	java/awt/LayoutManager.java,
	java/awt/MenuBar.java,
	java/awt/MenuComponent.java,
	java/awt/MenuContainer.java,
	java/awt/PageAttributes.java,
	java/awt/Paint.java,
	java/awt/PaintContext.java,
	java/awt/Panel.java,
	java/awt/Point.java,
	java/awt/Polygon.java,
	java/awt/PrintGraphics.java,
	java/awt/PrintJob.java,
	java/awt/Rectangle.java,
	java/awt/RenderingHints.java,
	java/awt/Shape.java,
	java/awt/Stroke.java,
	java/awt/SystemColor.java,
	java/awt/Toolkit.java,
	java/awt/Transparency.java,
	java/awt/Window.java,
	java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java,
	java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.java,
	java/awt/dnd/Autoscroll.java,
	java/awt/dnd/DnDConstants.java,
	java/awt/dnd/DragGestureListener.java,
	java/awt/dnd/DragSourceAdapter.java,
	java/awt/dnd/DragSourceDropEvent.java,
	java/awt/dnd/DragSourceListener.java,
	java/awt/dnd/DragSourceMotionListener.java,
	java/awt/dnd/DropTargetAdapter.java,
	java/awt/dnd/DropTargetContext.java,
	java/awt/dnd/DropTargetListener.java,
	java/awt/dnd/InvalidDnDOperationException.java,
	java/awt/dnd/MouseDragGestureRecognizer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/event/AWTEventListener.java,
	java/awt/event/AWTEventListenerProxy.java,
	java/awt/event/ActionEvent.java,
	java/awt/event/AdjustmentEvent.java,
	java/awt/event/AdjustmentListener.java,
	java/awt/event/ComponentAdapter.java,
	java/awt/event/ComponentEvent.java,
	java/awt/event/ComponentListener.java,
	java/awt/event/ContainerAdapter.java,
	java/awt/event/ContainerEvent.java,
	java/awt/event/ContainerListener.java,
	java/awt/event/FocusAdapter.java,
	java/awt/event/FocusEvent.java,
	java/awt/event/FocusListener.java,
	java/awt/event/InputEvent.java,
	java/awt/event/InputMethodEvent.java,
	java/awt/event/InputMethodListener.java,
	java/awt/event/InvocationEvent.java,
	java/awt/event/ItemEvent.java,
	java/awt/event/ItemListener.java,
	java/awt/event/KeyAdapter.java,
	java/awt/event/KeyEvent.java,
	java/awt/event/KeyListener.java,
	java/awt/event/MouseAdapter.java,
	java/awt/event/MouseEvent.java,
	java/awt/event/MouseListener.java,
	java/awt/event/MouseMotionAdapter.java,
	java/awt/event/MouseMotionListener.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/event/MouseWheelListener.java,
	java/awt/event/PaintEvent.java,
	java/awt/event/TextEvent.java,
	java/awt/event/TextListener.java,
	java/awt/event/WindowAdapter.java,
	java/awt/event/WindowEvent.java,
	java/awt/event/WindowFocusListener.java,
	java/awt/event/WindowListener.java,
	java/awt/event/WindowStateListener.java,
	java/awt/font/TextHitInfo.java,
	java/awt/geom/CubicCurve2D.java,
	java/awt/geom/Dimension2D.java,
	java/awt/geom/Ellipse2D.java,
	java/awt/geom/IllegalPathStateException.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/NoninvertibleTransformException.java,
	java/awt/geom/PathIterator.java,
	java/awt/geom/Point2D.java,
	java/awt/geom/QuadCurve2D.java,
	java/awt/geom/RectangularShape.java,
	java/awt/geom/RoundRectangle2D.java,
	java/awt/im/InputContext.java,
	java/awt/im/InputMethodHighlight.java,
	java/awt/im/InputMethodRequests.java,
	java/awt/im/InputSubset.java,
	java/awt/im/spi/InputMethod.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/BandCombineOp.java,
	java/awt/image/BandedSampleModel.java,
	java/awt/image/ByteLookupTable.java,
	java/awt/image/ComponentSampleModel.java,
	java/awt/image/DataBuffer.java,
	java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferDouble.java,
	java/awt/image/DataBufferFloat.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferShort.java,
	java/awt/image/DataBufferUShort.java,
	java/awt/image/ImagingOpException.java,
	java/awt/image/Kernel.java,
	java/awt/image/LookupTable.java,
	java/awt/image/MultiPixelPackedSampleModel.java,
	java/awt/image/PackedColorModel.java,
	java/awt/image/PixelInterleavedSampleModel.java,
	java/awt/image/RGBImageFilter.java,
	java/awt/image/Raster.java,
	java/awt/image/RasterFormatException.java,
	java/awt/image/SampleModel.java,
	java/awt/image/ShortLookupTable.java,
	java/awt/image/SinglePixelPackedSampleModel.java,
	java/awt/image/WritableRaster.java,
	java/awt/print/PrinterAbortException.java,
	java/awt/print/PrinterException.java,
	java/awt/print/PrinterIOException.java,
	java/beans/AppletInitializer.java,
	java/beans/ExceptionListener.java,
	java/beans/PropertyChangeEvent.java,
	java/beans/PropertyChangeListenerProxy.java,
	java/beans/PropertyChangeSupport.java,
	java/beans/PropertyDescriptor.java,
	java/beans/VetoableChangeListenerProxy.java,
	java/beans/VetoableChangeSupport.java,
	java/io/BufferedReader.java,
	java/io/ByteArrayInputStream.java,
	java/io/ByteArrayOutputStream.java,
	java/io/CharArrayReader.java,
	java/io/CharArrayWriter.java,
	java/io/CharConversionException.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/DataOutput.java,
	java/io/DataOutputStream.java,
	java/io/EOFException.java,
	java/io/FileInputStream.java,
	java/io/FileNotFoundException.java,
	java/io/FileOutputStream.java,
	java/io/FilenameFilter.java,
	java/io/FilterInputStream.java,
	java/io/FilterOutputStream.java,
	java/io/FilterReader.java,
	java/io/FilterWriter.java,
	java/io/IOException.java,
	java/io/InputStream.java,
	java/io/InterruptedIOException.java,
	java/io/LineNumberInputStream.java,
	java/io/LineNumberReader.java,
	java/io/ObjectInputStream.java,
	java/io/ObjectStreamException.java,
	java/io/OptionalDataException.java,
	java/io/OutputStream.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/PrintWriter.java,
	java/io/PushbackInputStream.java,
	java/io/PushbackReader.java,
	java/io/RandomAccessFile.java,
	java/io/Reader.java,
	java/io/SequenceInputStream.java,
	java/io/Serializable.java,
	java/io/StreamCorruptedException.java,
	java/io/StreamTokenizer.java,
	java/io/StringBufferInputStream.java,
	java/io/StringWriter.java,
	java/io/SyncFailedException.java,
	java/io/UTFDataFormatException.java,
	java/io/UnsupportedEncodingException.java,
	java/io/WriteAbortedException.java,
	java/io/Writer.java,
	java/lang/AbstractMethodError.java,
	java/lang/ArithmeticException.java,
	java/lang/ArrayIndexOutOfBoundsException.java,
	java/lang/ArrayStoreException.java,
	java/lang/AssertionError.java,
	java/lang/Boolean.java,
	java/lang/Byte.java,
	java/lang/Class.java,
	java/lang/ClassCastException.java,
	java/lang/ClassCircularityError.java,
	java/lang/ClassLoader.java,
	java/lang/ClassNotFoundException.java,
	java/lang/CloneNotSupportedException.java,
	java/lang/Cloneable.java,
	java/lang/Comparable.java,
	java/lang/Compiler.java,
	java/lang/Double.java,
	java/lang/Error.java,
	java/lang/Exception.java,
	java/lang/ExceptionInInitializerError.java,
	java/lang/Float.java,
	java/lang/IllegalAccessError.java,
	java/lang/IllegalAccessException.java,
	java/lang/IllegalArgumentException.java,
	java/lang/IllegalMonitorStateException.java,
	java/lang/IllegalStateException.java,
	java/lang/IllegalThreadStateException.java,
	java/lang/IncompatibleClassChangeError.java,
	java/lang/IndexOutOfBoundsException.java,
	java/lang/InheritableThreadLocal.java,
	java/lang/InstantiationError.java,
	java/lang/InstantiationException.java,
	java/lang/Integer.java,
	java/lang/InternalError.java,
	java/lang/InterruptedException.java,
	java/lang/LinkageError.java,
	java/lang/Long.java,
	java/lang/NegativeArraySizeException.java,
	java/lang/NoClassDefFoundError.java,
	java/lang/NoSuchFieldError.java,
	java/lang/NoSuchFieldException.java,
	java/lang/NoSuchMethodError.java,
	java/lang/NoSuchMethodException.java,
	java/lang/NullPointerException.java,
	java/lang/Number.java,
	java/lang/NumberFormatException.java,
	java/lang/OutOfMemoryError.java,
	java/lang/Process.java,
	java/lang/Runnable.java,
	java/lang/Runtime.java,
	java/lang/RuntimeException.java,
	java/lang/RuntimePermission.java,
	java/lang/SecurityException.java,
	java/lang/SecurityManager.java,
	java/lang/Short.java,
	java/lang/StackOverflowError.java,
	java/lang/StackTraceElement.java,
	java/lang/StringBuffer.java,
	java/lang/StringIndexOutOfBoundsException.java,
	java/lang/ThreadDeath.java,
	java/lang/ThreadGroup.java,
	java/lang/Throwable.java,
	java/lang/UnsatisfiedLinkError.java,
	java/lang/UnsupportedOperationException.java,
	java/lang/VerifyError.java,
	java/lang/VirtualMachineError.java,
	java/lang/reflect/AccessibleObject.java,
	java/lang/reflect/Array.java,
	java/lang/reflect/InvocationTargetException.java,
	java/lang/reflect/Member.java,
	java/lang/reflect/Modifier.java,
	java/lang/reflect/Proxy.java,
	java/lang/reflect/ReflectPermission.java,
	java/lang/reflect/UndeclaredThrowableException.java,
	java/math/BigInteger.java,
	java/net/NetworkInterface.java,
	java/nio/ByteBufferHelper.java,
	java/nio/ByteBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/ShortBufferImpl.java,
	java/nio/channels/Channel.java,
	java/nio/channels/IllegalBlockingModeException.java,
	java/nio/charset/spi/CharsetProvider.java,
	java/security/AccessControlException.java,
	java/security/BasicPermission.java,
	java/security/DigestException.java,
	java/security/DigestInputStream.java,
	java/security/DigestOutputStream.java,
	java/security/GeneralSecurityException.java,
	java/security/Guard.java,
	java/security/GuardedObject.java,
	java/security/InvalidAlgorithmParameterException.java,
	java/security/InvalidKeyException.java,
	java/security/InvalidParameterException.java,
	java/security/Key.java,
	java/security/KeyException.java,
	java/security/KeyManagementException.java,
	java/security/KeyStoreException.java,
	java/security/MessageDigestSpi.java,
	java/security/NoSuchAlgorithmException.java,
	java/security/NoSuchProviderException.java,
	java/security/Permission.java,
	java/security/PermissionCollection.java,
	java/security/Permissions.java,
	java/security/Principal.java,
	java/security/PrivateKey.java,
	java/security/PrivilegedActionException.java,
	java/security/ProviderException.java,
	java/security/PublicKey.java,
	java/security/SecureRandom.java,
	java/security/SecureRandomSpi.java,
	java/security/SignatureException.java,
	java/security/SignatureSpi.java,
	java/security/SignedObject.java,
	java/security/Signer.java,
	java/security/UnrecoverableKeyException.java,
	java/security/UnresolvedPermission.java,
	java/security/acl/AclNotFoundException.java,
	java/security/acl/LastOwnerException.java,
	java/security/acl/NotOwnerException.java,
	java/security/cert/CertPath.java,
	java/security/cert/CertPathBuilderException.java,
	java/security/cert/CertPathValidatorException.java,
	java/security/cert/CertStoreException.java,
	java/text/BreakIterator.java,
	java/text/ChoiceFormat.java,
	java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/Collator.java,
	java/text/DateFormat.java,
	java/text/DateFormatSymbols.java,
	java/text/DecimalFormat.java,
	java/text/DecimalFormatSymbols.java,
	java/text/FieldPosition.java,
	java/text/Format.java,
	java/text/NumberFormat.java,
	java/text/ParseException.java,
	java/text/ParsePosition.java,
	java/text/StringCharacterIterator.java,
	java/util/AbstractCollection.java,
	java/util/AbstractList.java,
	java/util/AbstractMap.java,
	java/util/AbstractSequentialList.java,
	java/util/AbstractSet.java,
	java/util/ArrayList.java,
	java/util/Arrays.java,
	java/util/BitSet.java,
	java/util/Collection.java,
	java/util/Collections.java,
	java/util/Comparator.java,
	java/util/ConcurrentModificationException.java,
	java/util/Currency.java,
	java/util/Date.java,
	java/util/EmptyStackException.java,
	java/util/Enumeration.java,
	java/util/EventListener.java,
	java/util/EventListenerProxy.java,
	java/util/EventObject.java,
	java/util/HashMap.java,
	java/util/HashSet.java,
	java/util/Hashtable.java,
	java/util/IdentityHashMap.java,
	java/util/Iterator.java,
	java/util/LinkedHashSet.java,
	java/util/LinkedList.java,
	java/util/List.java,
	java/util/ListIterator.java,
	java/util/ListResourceBundle.java,
	java/util/Map.java,
	java/util/MissingResourceException.java,
	java/util/NoSuchElementException.java,
	java/util/Observable.java,
	java/util/Observer.java,
	java/util/Properties.java,
	java/util/PropertyPermissionCollection.java,
	java/util/RandomAccess.java,
	java/util/Set.java,
	java/util/SortedMap.java,
	java/util/SortedSet.java,
	java/util/Stack.java,
	java/util/StringTokenizer.java,
	java/util/TooManyListenersException.java,
	java/util/TreeMap.java,
	java/util/TreeSet.java,
	java/util/Vector.java,
	java/util/logging/FileHandler.java,
	java/util/logging/Level.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/Preferences.java,
	javax/accessibility/Accessible.java,
	javax/accessibility/AccessibleAction.java,
	javax/accessibility/AccessibleBundle.java,
	javax/accessibility/AccessibleComponent.java,
	javax/accessibility/AccessibleContext.java,
	javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleExtendedComponent.java,
	javax/accessibility/AccessibleExtendedTable.java,
	javax/accessibility/AccessibleHyperlink.java,
	javax/accessibility/AccessibleHypertext.java,
	javax/accessibility/AccessibleIcon.java,
	javax/accessibility/AccessibleKeyBinding.java,
	javax/accessibility/AccessibleRelation.java,
	javax/accessibility/AccessibleRelationSet.java,
	javax/accessibility/AccessibleResourceBundle.java,
	javax/accessibility/AccessibleRole.java,
	javax/accessibility/AccessibleSelection.java,
	javax/accessibility/AccessibleState.java,
	javax/accessibility/AccessibleStateSet.java,
	javax/accessibility/AccessibleTable.java,
	javax/accessibility/AccessibleTableModelChange.java,
	javax/accessibility/AccessibleText.java,
	javax/accessibility/AccessibleValue.java,
	javax/imageio/IIOException.java,
	javax/imageio/ImageIO.java,
	javax/imageio/spi/IIOServiceProvider.java,
	javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java,
	javax/imageio/spi/ImageReaderWriterSpi.java,
	javax/imageio/spi/ImageTranscoderSpi.java,
	javax/imageio/spi/RegisterableService.java,
	javax/imageio/spi/ServiceRegistry.java,
	javax/imageio/stream/IIOByteBuffer.java,
	javax/imageio/stream/ImageInputStream.java,
	javax/imageio/stream/ImageOutputStream.java,
	javax/naming/Binding.java,
	javax/naming/CannotProceedException.java,
	javax/naming/CompositeName.java,
	javax/naming/CompoundName.java,
	javax/naming/LinkException.java,
	javax/naming/LinkRef.java,
	javax/naming/NameClassPair.java,
	javax/naming/Reference.java,
	javax/naming/ReferralException.java,
	javax/naming/directory/Attribute.java,
	javax/naming/directory/AttributeModificationException.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/DirContext.java,
	javax/naming/directory/ModificationItem.java,
	javax/naming/directory/SearchControls.java,
	javax/naming/directory/SearchResult.java,
	javax/naming/event/EventContext.java,
	javax/naming/event/EventDirContext.java,
	javax/naming/event/NamespaceChangeListener.java,
	javax/naming/event/NamingExceptionEvent.java,
	javax/naming/event/NamingListener.java,
	javax/naming/event/ObjectChangeListener.java,
	javax/naming/ldap/Control.java,
	javax/naming/ldap/ExtendedResponse.java,
	javax/naming/ldap/HasControls.java,
	javax/naming/ldap/LdapContext.java,
	javax/naming/ldap/UnsolicitedNotification.java,
	javax/naming/ldap/UnsolicitedNotificationEvent.java,
	javax/naming/ldap/UnsolicitedNotificationListener.java,
	javax/naming/spi/DirectoryManager.java,
	javax/naming/spi/ResolveResult.java,
	javax/naming/spi/Resolver.java,
	javax/security/auth/callback/Callback.java,
	javax/security/auth/callback/CallbackHandler.java,
	javax/security/auth/callback/ChoiceCallback.java,
	javax/security/auth/callback/ConfirmationCallback.java,
	javax/security/auth/callback/LanguageCallback.java,
	javax/security/auth/callback/NameCallback.java,
	javax/security/auth/callback/PasswordCallback.java,
	javax/security/auth/callback/TextInputCallback.java,
	javax/security/auth/callback/TextOutputCallback.java,
	javax/security/auth/callback/UnsupportedCallbackException.java,
	javax/security/sasl/Sasl.java,
	javax/security/sasl/SaslServerFactory.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/JComponent.java,
	javax/swing/JList.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java,
	javax/swing/JTextArea.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JTree.java,
	javax/swing/SpinnerListModel.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/StringContent.java,
	javax/swing/text/Utilities.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/undo/UndoableEditSupport.java,
	javax/transaction/HeuristicCommitException.java,
	javax/transaction/HeuristicMixedException.java,
	javax/transaction/HeuristicRollbackException.java,
	javax/transaction/InvalidTransactionException.java,
	javax/transaction/NotSupportedException.java,
	javax/transaction/RollbackException.java,
	javax/transaction/Status.java,
	javax/transaction/Synchronization.java,
	javax/transaction/SystemException.java,
	javax/transaction/Transaction.java,
	javax/transaction/TransactionManager.java,
	javax/transaction/TransactionRequiredException.java,
	javax/transaction/TransactionRolledbackException.java,
	javax/transaction/UserTransaction.java,
	javax/transaction/xa/XAException.java,
	javax/transaction/xa/XAResource.java,
	javax/transaction/xa/Xid.java,
	javax/xml/XMLConstants.java,
	javax/xml/datatype/DatatypeConfigurationException.java,
	javax/xml/datatype/DatatypeConstants.java,
	javax/xml/datatype/DatatypeFactory.java,
	javax/xml/datatype/Duration.java,
	javax/xml/datatype/XMLGregorianCalendar.java,
	javax/xml/namespace/NamespaceContext.java,
	javax/xml/namespace/QName.java,
	javax/xml/parsers/DocumentBuilder.java,
	javax/xml/parsers/DocumentBuilderFactory.java,
	javax/xml/parsers/FactoryConfigurationError.java,
	javax/xml/parsers/ParserConfigurationException.java,
	javax/xml/parsers/SAXParser.java,
	javax/xml/parsers/SAXParserFactory.java,
	javax/xml/transform/ErrorListener.java,
	javax/xml/transform/OutputKeys.java,
	javax/xml/transform/Result.java,
	javax/xml/transform/Source.java,
	javax/xml/transform/SourceLocator.java,
	javax/xml/transform/Templates.java,
	javax/xml/transform/Transformer.java,
	javax/xml/transform/TransformerConfigurationException.java,
	javax/xml/transform/TransformerException.java,
	javax/xml/transform/TransformerFactory.java,
	javax/xml/transform/TransformerFactoryConfigurationError.java,
	javax/xml/transform/URIResolver.java,
	javax/xml/transform/dom/DOMLocator.java,
	javax/xml/transform/dom/DOMResult.java,
	javax/xml/transform/dom/DOMSource.java,
	javax/xml/transform/sax/SAXResult.java,
	javax/xml/transform/sax/SAXSource.java,
	javax/xml/transform/sax/SAXTransformerFactory.java,
	javax/xml/transform/sax/TemplatesHandler.java,
	javax/xml/transform/sax/TransformerHandler.java,
	javax/xml/transform/stream/StreamResult.java,
	javax/xml/transform/stream/StreamSource.java,
	javax/xml/validation/Schema.java,
	javax/xml/validation/SchemaFactory.java,
	javax/xml/validation/TypeInfoProvider.java,
	javax/xml/validation/Validator.java,
	javax/xml/validation/ValidatorHandler.java,
	javax/xml/xpath/XPathConstants.java,
	javax/xml/xpath/XPathException.java,
	javax/xml/xpath/XPathExpression.java,
	javax/xml/xpath/XPathExpressionException.java,
	javax/xml/xpath/XPathFactory.java,
	javax/xml/xpath/XPathFactoryConfigurationException.java,
	javax/xml/xpath/XPathFunction.java,
	javax/xml/xpath/XPathFunctionException.java,
	javax/xml/xpath/XPathFunctionResolver.java:
	Fixed usage of @author tag, reworked import statements,
	removed CVS tags, changed the modifier order and fixed
	HTML usage in javadocs.

From-SVN: r95152
This commit is contained in:
Michael Koch 2005-02-17 07:48:58 +00:00 committed by Michael Koch
parent 927c8259b1
commit 96dd155e2c
611 changed files with 2425 additions and 1823 deletions

View file

@ -1,5 +1,5 @@
/* AbstractList.java -- Abstract implementation of most of List
Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -59,7 +59,7 @@ package java.util;
*
* @author Original author unknown
* @author Bryce McKinlay
* @author Eric Blake <ebb9@email.byu.edu>
* @author Eric Blake (ebb9@email.byu.edu)
* @see Collection
* @see List
* @see AbstractSequentialList
@ -751,476 +751,475 @@ while (i.hasNext())
return new SubList(this, fromIndex, toIndex);
}
} // class AbstractList
/**
* This class follows the implementation requirements set forth in
* {@link AbstractList#subList(int, int)}. It matches Sun's implementation
* by using a non-public top-level class in the same package.
*
* @author Original author unknown
* @author Eric Blake <ebb9@email.byu.edu>
*/
class SubList extends AbstractList
{
// Package visible, for use by iterator.
/** The original list. */
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.
* This class follows the implementation requirements set forth in
* {@link AbstractList#subList(int, int)}. It matches Sun's implementation
* by using a non-public top-level class in the same package.
*
* @param backing the list this comes from
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
* @author Original author unknown
* @author Eric Blake (ebb9@email.byu.edu)
*/
SubList(AbstractList backing, int fromIndex, int toIndex)
private static class SubList extends AbstractList
{
backingList = backing;
modCount = backing.modCount;
offset = fromIndex;
size = toIndex - fromIndex;
}
// Package visible, for use by iterator.
/** The original list. */
final AbstractList backingList;
/** The index of the first element of the sublist. */
final int offset;
/** The size of the sublist. */
int size;
/**
* This method checks the two modCount fields to ensure that there has
* not been a concurrent modification, returning if all is okay.
*
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
*/
// This can be inlined. Package visible, for use by iterator.
void checkMod()
{
if (modCount != backingList.modCount)
throw new ConcurrentModificationException();
}
/**
* This method checks that a value is between 0 and size (inclusive). If
* it is not, an exception is thrown.
*
* @param index the value to check
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
*/
// This will get inlined, since it is private.
private void checkBoundsInclusive(int index)
{
if (index < 0 || index > 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.
*
* @param index the value to check
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
*/
// This will get inlined, since it is private.
private void checkBoundsExclusive(int index)
{
if (index < 0 || index >= size)
throw new IndexOutOfBoundsException("Index: " + index + ", Size:"
+ size);
}
/**
* Specified by AbstractList.subList to return the private field size.
*
* @return the sublist size
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
*/
public int size()
{
checkMod();
return size;
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the location to modify
* @param o the new value
* @return the old value
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if the backing list does not
* support the set operation
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
* @throws ClassCastException if o cannot be added to the backing list due
* to its type
* @throws IllegalArgumentException if o cannot be added to the backing list
* for some other reason
*/
public Object set(int index, Object o)
{
checkMod();
checkBoundsExclusive(index);
return backingList.set(index + offset, o);
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the location to get from
* @return the object at that location
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
*/
public Object get(int index)
{
checkMod();
checkBoundsExclusive(index);
return backingList.get(index + offset);
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the index to insert at
* @param o the object to add
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
* @throws UnsupportedOperationException if the backing list does not
* support the add operation.
* @throws ClassCastException if o cannot be added to the backing list due
* to its type.
* @throws IllegalArgumentException if o cannot be added to the backing
* list for some other reason.
*/
public void add(int index, Object o)
{
checkMod();
checkBoundsInclusive(index);
backingList.add(index + offset, o);
size++;
modCount = backingList.modCount;
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the index to remove
* @return the removed object
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
* @throws UnsupportedOperationException if the backing list does not
* support the remove operation
*/
public Object remove(int index)
{
checkMod();
checkBoundsExclusive(index);
Object 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
* by trusted code like clear() which has already checked the bounds.
*
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if the backing list does
* not support removing elements.
*/
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.
*
* @param index the location to insert at
* @param c the collection to insert
* @return true if this list was modified, in other words, c is non-empty
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
* @throws UnsupportedOperationException if this list does not support the
* addAll operation
* @throws ClassCastException if some element of c cannot be added to this
* list due to its type
* @throws IllegalArgumentException if some element of c cannot be added
* to this list for some other reason
* @throws NullPointerException if the specified collection is null
*/
public boolean addAll(int index, Collection c)
{
checkMod();
checkBoundsInclusive(index);
int csize = c.size();
boolean result = backingList.addAll(offset + index, c);
size += csize;
modCount = backingList.modCount;
return result;
}
/**
* Specified by AbstractList.subList to return addAll(size, c).
*
* @param c the collection to insert
* @return true if this list was modified, in other words, c is non-empty
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if this list does not support the
* addAll operation
* @throws ClassCastException if some element of c cannot be added to this
* list due to its type
* @throws IllegalArgumentException if some element of c cannot be added
* to this list for some other reason
* @throws NullPointerException if the specified collection is null
*/
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()
{
return listIterator();
}
/**
* Specified by AbstractList.subList to return a wrapper around the
* backing list's iterator.
*
* @param index the start location of the iterator
* @return a list iterator over the sublist
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if the value is out of range
*/
public ListIterator listIterator(final int index)
{
checkMod();
checkBoundsInclusive(index);
return new ListIterator()
/**
* Construct the sublist.
*
* @param backing the list this comes from
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
*/
SubList(AbstractList backing, int fromIndex, int toIndex)
{
private final ListIterator i = backingList.listIterator(index + offset);
private int position = index;
backingList = backing;
modCount = backing.modCount;
offset = fromIndex;
size = toIndex - fromIndex;
}
/**
* Tests to see if there are any more objects to
* return.
*
* @return True if the end of the list has not yet been
* reached.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public boolean hasNext()
/**
* This method checks the two modCount fields to ensure that there has
* not been a concurrent modification, returning if all is okay.
*
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
*/
// This can be inlined. Package visible, for use by iterator.
void checkMod()
{
if (modCount != backingList.modCount)
throw new ConcurrentModificationException();
}
/**
* This method checks that a value is between 0 and size (inclusive). If
* it is not, an exception is thrown.
*
* @param index the value to check
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
*/
// This will get inlined, since it is private.
private void checkBoundsInclusive(int index)
{
if (index < 0 || index > 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.
*
* @param index the value to check
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
*/
// This will get inlined, since it is private.
private void checkBoundsExclusive(int index)
{
if (index < 0 || index >= size)
throw new IndexOutOfBoundsException("Index: " + index + ", Size:"
+ size);
}
/**
* Specified by AbstractList.subList to return the private field size.
*
* @return the sublist size
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
*/
public int size()
{
checkMod();
return size;
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the location to modify
* @param o the new value
* @return the old value
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if the backing list does not
* support the set operation
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
* @throws ClassCastException if o cannot be added to the backing list due
* to its type
* @throws IllegalArgumentException if o cannot be added to the backing list
* for some other reason
*/
public Object set(int index, Object o)
{
checkMod();
checkBoundsExclusive(index);
return backingList.set(index + offset, o);
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the location to get from
* @return the object at that location
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
*/
public Object get(int index)
{
checkMod();
checkBoundsExclusive(index);
return backingList.get(index + offset);
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the index to insert at
* @param o the object to add
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
* @throws UnsupportedOperationException if the backing list does not
* support the add operation.
* @throws ClassCastException if o cannot be added to the backing list due
* to its type.
* @throws IllegalArgumentException if o cannot be added to the backing
* list for some other reason.
*/
public void add(int index, Object o)
{
checkMod();
checkBoundsInclusive(index);
backingList.add(index + offset, o);
size++;
modCount = backingList.modCount;
}
/**
* Specified by AbstractList.subList to delegate to the backing list.
*
* @param index the index to remove
* @return the removed object
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt;= size()
* @throws UnsupportedOperationException if the backing list does not
* support the remove operation
*/
public Object remove(int index)
{
checkMod();
checkBoundsExclusive(index);
Object 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
* by trusted code like clear() which has already checked the bounds.
*
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if the backing list does
* not support removing elements.
*/
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.
*
* @param index the location to insert at
* @param c the collection to insert
* @return true if this list was modified, in other words, c is non-empty
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if index &lt; 0 || index &gt; size()
* @throws UnsupportedOperationException if this list does not support the
* addAll operation
* @throws ClassCastException if some element of c cannot be added to this
* list due to its type
* @throws IllegalArgumentException if some element of c cannot be added
* to this list for some other reason
* @throws NullPointerException if the specified collection is null
*/
public boolean addAll(int index, Collection c)
{
checkMod();
checkBoundsInclusive(index);
int csize = c.size();
boolean result = backingList.addAll(offset + index, c);
size += csize;
modCount = backingList.modCount;
return result;
}
/**
* Specified by AbstractList.subList to return addAll(size, c).
*
* @param c the collection to insert
* @return true if this list was modified, in other words, c is non-empty
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws UnsupportedOperationException if this list does not support the
* addAll operation
* @throws ClassCastException if some element of c cannot be added to this
* list due to its type
* @throws IllegalArgumentException if some element of c cannot be added
* to this list for some other reason
* @throws NullPointerException if the specified collection is null
*/
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()
{
return listIterator();
}
/**
* Specified by AbstractList.subList to return a wrapper around the
* backing list's iterator.
*
* @param index the start location of the iterator
* @return a list iterator over the sublist
* @throws ConcurrentModificationException if the backing list has been
* modified externally to this sublist
* @throws IndexOutOfBoundsException if the value is out of range
*/
public ListIterator listIterator(final int index)
{
checkMod();
checkBoundsInclusive(index);
return new ListIterator()
{
checkMod();
return position < size;
}
private final ListIterator i = backingList.listIterator(index + offset);
private int position = index;
/**
* 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.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public boolean hasPrevious()
{
checkMod();
return position > 0;
}
/**
* Tests to see if there are any more objects to
* return.
*
* @return True if the end of the list has not yet been
* reached.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public boolean hasNext()
{
checkMod();
return position < size;
}
/**
* 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();
}
/**
* 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.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public boolean hasPrevious()
{
checkMod();
return position > 0;
}
/**
* 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();
}
/**
* 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();
}
/**
* Returns the index of the next element in the
* list, which will be retrieved by <code>next()</code>
*
* @return The index of the next element.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public int nextIndex()
{
return i.nextIndex() - offset;
}
/**
* 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 previous element in the
* list, which will be retrieved by <code>previous()</code>
*
* @return The index of the previous element.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public int previousIndex()
{
return i.previousIndex() - offset;
}
/**
* Returns the index of the next element in the
* list, which will be retrieved by <code>next()</code>
*
* @return The index of the next element.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public int nextIndex()
{
return i.nextIndex() - offset;
}
/**
* Removes the last object retrieved by <code>next()</code>
* 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;
}
/**
* Returns the index of the previous element in the
* list, which will be retrieved by <code>previous()</code>
*
* @return The index of the previous element.
* @throws ConcurrentModificationException if the
* list has been modified elsewhere.
*/
public int previousIndex()
{
return i.previousIndex() - offset;
}
/**
* Removes the last object retrieved by <code>next()</code>
* 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 <code>next()</code>
* or <code>previous</code> 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);
}
/**
* Replaces the last object retrieved by <code>next()</code>
* or <code>previous</code> 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 <code>next()</code>, 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;
}
/**
* Adds the supplied object before the element that would be returned
* by a call to <code>next()</code>, 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.
};
}
} // class SubList
// 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
/**
* This class is a RandomAccess version of SubList, as required by
* {@link AbstractList#subList(int, int)}.
*
* @author Eric Blake <ebb9@email.byu.edu>
*/
final class RandomAccessSubList extends SubList
implements RandomAccess
{
/**
* Construct the sublist.
* This class is a RandomAccess version of SubList, as required by
* {@link AbstractList#subList(int, int)}.
*
* @param backing the list this comes from
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
* @author Eric Blake (ebb9@email.byu.edu)
*/
RandomAccessSubList(AbstractList backing, int fromIndex, int toIndex)
private static final class RandomAccessSubList extends SubList
implements RandomAccess
{
super(backing, fromIndex, toIndex);
}
} // class RandomAccessSubList
/**
* Construct the sublist.
*
* @param backing the list this comes from
* @param fromIndex the lower bound, inclusive
* @param toIndex the upper bound, exclusive
*/
RandomAccessSubList(AbstractList backing, int fromIndex, int toIndex)
{
super(backing, fromIndex, toIndex);
}
} // class RandomAccessSubList
} // class AbstractList