THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Table of Contents |
---|
PlantUML |
---|
@startuml interface AutoCloseable { void close() } interface ByteBufferSharing extends AutoCloseable { ByteBuffer getBuffer() ByteBuffer expandWriteBufferIfNeeded(int newCapacity) ByteBuffer expandReadBufferIfNeeded(int newCapacity) } class ByteBufferVendor { ByteBufferVendor(ByteBuffer bufferArg, BufferType bufferType, BufferPool bufferPool) ByteBufferSharing open() ByteBufferSharing open(long time, TimeUnit unit) void destruct() } interface ByteBufferVendor.ByteBufferSharingInternal extends ByteBufferSharing { void releaseBuffer() } class ByteBufferVendor.ByteBufferSharingInternalImpl implements ByteBufferVendor.ByteBufferSharingInternal {} ByteBufferVendor "sharing" *-- ByteBufferVendor.ByteBufferSharingInternal ByteBufferVendor "lock" *-- ReentrantLock ByteBufferVendor "isDestructed" *-- AtomicBoolean ByteBufferVendor "counter" *-- AtomicInteger ByteBufferVendor.ByteBufferSharingInternalImpl "buffer\n0..1" --> "1" ByteBuffer ByteBufferVendor.ByteBufferSharingInternalImpl "bufferPool\n*" --> "1" BufferPool ByteBufferVendor.ByteBufferSharingInternalImpl "bufferType\n*" --> "1" BufferType ByteBufferVendor .. ByteBuffer : derived\nassociation @enduml |
...