2005-02-18 Robert Schuster <thebohemian@gmx.net>
* java/nio/charset/Charset.java (forName): Throws
IllegalArgumentException when argument is null
and added documentation.
From-SVN: r95218
* java/nio/DirectByteBufferImpl.java
(ReadOnly): New inner subclass.
(ReadWrite): New inner subclass.
(owner): Made final and private.
(address): Made final.
(DirectByteBufferImpl(int)): New constructor.
(DirectByteBufferImpl(Object,RawData,int,int,int)): New constructor.
(DirectByteBufferImpl(Object,RawData,int,int,int,boolean)): Removed.
(allocate): Modified to instantiate ReadWrite subclass.
(finalize): Fixed to only free the buffer, if we own it.
(put): Removed read-only check.
(slice, duplicate): Modified to instantiate appropriate subclass.
(isReadOnly): Removed.
* java/nio/MappedByteBufferImpl.java
(slice, duplicate): Modified to instantiate appropriate
DirectByteBufferImpl subclass.
From-SVN: r91147
2004-11-24 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/NIOServerSocket.java: Added email to @author tag.
* java/nio/DirectByteBufferImpl.java:
Moved native methods to java.nio.VMDirectByteBuffer class.
* java/nio/MappedByteBufferImpl.java:
Use native methods from java.nio.VMDirectByteBuffer class.
* java/nio/VMDirectByteBuffer.java: New file,
* java/nio/natDirectByteBufferImpl.cc:
Moved all methods into java.nio.VMDirectByteBuffer class.
* java/nio/channels/spi/AbstractSelectableChannel.java
(register): Only re-use valid keys.
* Makefile.am: Added java/nio/VMDirectByteBuffer.java.
* Makefile.in: Regenerated.
From-SVN: r91146
* gnu/java/nio/SocketChannelImpl.java
(read): Only return 0 when no bytes for reading available in
non-blocking mode.
* java/nio/channels/SocketChannel.java:
Added some missing @return tags.
From-SVN: r90986
2004-11-18 Jeroen Frijters <address@bogus.example.com>
* java/lang/StackTraceElement.java: Made final.
* java/nio/channels/Channels.java: Added private constructor.
* java/rmi/Naming.java: Added private constructor.
* java/rmi/registry/LocateRegistry.java: Added private constructor.
* java/rmi/server/RMIClassLoader.java: Added private constructor.
* java/security/KeyPairGeneratorSpi.java
(clone): Made protected and simplified implementation.
* java/text/DateFormat.java
(allFields): Made package accessible.
* java/text/DecimalFormat.java
(formatInternal): Made private.
* java/text/Format.java
(formatInternal): Made private.
* java/util/logging/Handler.java: Made constructor protected.
* java/util/regex/Matcher.java: Made final.
* java/util/regex/Pattern.java: Made final.
* javax/crypto/CipherInputStream.java
(mark): Corrected mark parameter type (from long to int).
* javax/crypto/ExemptionMechanism.java
(finalize): Added.
* javax/crypto/Mac.java
(getMacLength): Made final.
(clone): Made final.
* javax/imageio/ImageIO.java: Added private constructor.
* javax/imageio/stream/ImageInputStreamImpl.java
(checkClosed): Made final.
* javax/net/ssl/SSLPermission.java: Made final.
* javax/print/DocFlavor.java
(hostEncoding): Added work-around to prevent the field from being
a compile time constant.
* javax/print/attribute/AttributeSetUtilities.java: Added private
constructor.
(UnmodifiableDocAttributeSet): Made private.
(UnmodifiablePrintJobAttributeSet): Made private.
(UnmodifiablePrintRequestAttributeSet): Made private.
(UnmodifiablePrintServiceAttributeSet): Made private.
(SynchronizedAttributeSet): Made private.
(SynchronizedDocAttributeSet): Made private.
(SynchronizedPrintJobAttributeSet): Made private.
(SynchronizedPrintRequestAttributeSet): Made private.
(SynchronizedPrintServiceAttributeSet): Made private.
* javax/security/auth/PrivateCredentialPermission.java: Made final.
From-SVN: r90866
* java/nio/ByteOrder.java
(static): Removed. Not needed.
Thanks to Patrick Reali for noticing.
* java/nio/charset/CharsetDecoder.java
(decode): Fix for classpath bug #9177: Reset state before flipping.
From-SVN: r84856
* java/nio/DirectByteBufferImpl.java
(shiftDown): Made static, give address as argument and
provide a convenience method that overwrites shiftDown in
ByteBufferImpl and calls the native shiftDown.
* java/nio/MappedByteBufferImpl.java
(): Use optimized method in DirectByteBufferImpl.
* java/nio/natDirectByteBufferImpl.cc
(shiftDown): Changed method signature. Removed usage of array_offset.
From-SVN: r80967
2004-04-20 Michael Koch <konqueror@gmx.de>
* java/nio/ByteBufferImpl.java,
java/nio/CharBufferImpl.java,
java/nio/DirectByteBufferImpl.java,
java/nio/DoubleBufferImpl.java,
java/nio/DoubleViewBufferImpl.java,
java/nio/FloatBufferImpl.java,
java/nio/FloatViewBufferImpl.java,
java/nio/IntBufferImpl.java,
java/nio/IntViewBufferImpl.java,
java/nio/LongBufferImpl.java,
java/nio/LongViewBufferImpl.java,
java/nio/MappedByteBufferImpl.java,
java/nio/ShortBufferImpl.java,
java/nio/ShortViewBufferImpl.java:
Made sure all classes are final and removed final keyword from all
methods.
From-SVN: r80907
* java/nio/channels/Channels.java (newInputStream, newOutputStream):
Optimize when argument is a FileChannelImpl.
(newInputStream(FileChannelImpl), newOutputStream(FileChannelImpl)):
New native methods.
* java/nio/channels/natChannels.cc: New file for new native methods.
* Makefile.am: Update accordingly.
From-SVN: r78867
* java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl,
unmapImpl): New dummy methods, to be overridden by subclass.
(finalize, isLoaded, load, force): New methods.
* java/nio/MappedByteBufferImpl.java: More-or-less rewrite.
Now works, at least for read mapping.
From-SVN: r78662
* java/nio/channels/FileChannelImpl.java: Moved to package
gnu/java/nio/channels, since we need to refer to it from java.io.
* java/nio/channels/natFileChannelImpl.cc: Removed file.
* Makefile.am, configure.in: Updated accordingly.
From-SVN: r78660
* gnu/java/nio/FileLockImpl.java
(finalize): Made protected.
* java/nio/channels/FileChannel.java
(MapMode.READ_ONLY): Made final.
(MapMode.READ_WRITE): Made final.
(MapMode.PRIVATE): Made final.
* java/nio/channels/SocketChannel.java
(open): Simplified code.
* java/nio/channels/spi/AbstractSelectableChannel.java
(registered): Unused, removed.
(keyFor): Check channel is open, only locate key
and not add a new one.
(register): Don't delete attachments.
From-SVN: r78519
* java/nio/ByteBuffer.java (endian): Make non-private so other
java.nio classes can inherit it.
(<init>): Don't bother clearing array_offset.
* java/nio/ByteBuffer.java (allocate): Re-implement using wrap.
* java/nio/ByteBuffer.java (get(byte[],int,int)): Check underflow.
Remove redundant test.
* java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer,
asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer):
Use new XxxViewBufferImpl constructors.
* java/nio/MappedByteBufferImpl.java: Likewise.
* java/nio/DirectByteBufferImpl.java: Likewise.
* java/nio/ByteBufferImpl.java: Remove one constructor.
Inline super in remaining constructor.
* java/nio/ByteBuffer.java: Remove unused constructor.
* java/nio/ByteBufferImpl.java (shiftDown): New optimized method.
* java/nio/ByteBufferImpl.java (get, put): Add array_offset.
* java/nio/DirectByteBufferImpl.java (owner): New field.
(offset): Remove unused field.
(<init>): Modify one and add another constructor. Change callers.
(allocateDirect): Removed - not used.
(getImpl, putImpl): Make static and pass address explicitly,
to make them useful for MappedByteBufferImpl.
(get, put): Check for underflow. Modify for new getImpl.
(getImpl): New native method where target is array.
(get(byte[],int,int)): Use the above.
(adjustAddress): New static native method.
(slice, duplicate, asReadOnly): New implementations.
* java/nio/natDirectByteBufferImpl.cc (getImpl, putImpl, shiftDown,
adjustAddress): New or updated native methods.
From-SVN: r77919
(inChannelOperation): New field.
(isInChannelOperation): New accessor.
(setInChannelOperation): New modifier.
* gnu/java/nio/ServerSocketChannelImpl.java
(accept): Set and reset our server socket's PlainSocketImpl's
"in channel operation" indicator before and after delegating
the accept to our server socket.
* gnu/java/nio/SocketChannelImpl.java
(connect): Set and reset our socket's PlainSocketImpl's "in channel
operation" indicator before and after delegating the operation to
our socket.
(read): Likewise.
(write): Likewise.
* java/net/ServerSocket.java (implAccept): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this accept operation.
* java/net/Socket.java (connect): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this connect operation.
* java/nio/channels/spi/AbstractSelectableChannel.java
(configureBlocking): Only call implConfigureBlocking() if
the desired blocking mode is different from our current one.
From-SVN: r76956
(selectThreadMutex): New field.
(selectThread): New field.
(unhandledWakeup): New field.
(implCloseSelector): Added skeleton code which
synchronizes as per Sun JRE JavaDoc.
(keys): Throw ClosedSelectorException if selector
is closed.
(selectNow): Added comment that we're faking out
an immediate select with a one-microsecond-timeout one.
(select): Use 0 instead of -1 for infinite timeout.
(implSelect): Changed comment in declaration.
(select): Added synchronized to method declaration.
Added synchronization and wakeup support as per Sun
JRE JavaDoc.
(selectedKeys): Throw ClosedSelectorException if selector
is closed.
(wakeup): Implemented.
(deregisterCancelledKeys): Synchronize on cancelled key
set before deregistering.
(register): Synchronize on key set before registering.
* java/nio/channels/spi/AbstractSelector.java
Added import for java.nio.channels.ClosedSelectorException.
(close): Added synchronized to method declaration.
(cancelledKeys): Throw ClosedSelectorException if selector
is closed.
(cancelKey): Synchronize on cancelled key set before key.
From-SVN: r74879
2003-12-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ChannelInputStream.java: New file.
* java/nio/channels/Channels.java (newInputStream): Implemented.
* java/nio/channels/FileChannelImpl.java
(readImpl): Only put data into buffer if something was read.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ChannelInputStream.java.
* Makefile.in: Regenerated.
From-SVN: r74842