Interface BufferLike<A>

All Superinterfaces:
ArrayReadable<A>, ArrayWritable<A>, HasArrayOps<A>, ReadableChannelFactory<A>, ReadableChannelSource<A>, SeekableReadableChannelSource<A>
All Known Subinterfaces:
Buffer<A>, BufferDelegate<A>, BufferLikeDelegate<A,D>, RangeBuffer<A>, RangeBufferDelegate<A>, RangeBufferDelegateMutable<A>, SubBuffer<A>
All Known Implementing Classes:
BufferDelegateBase, BufferOverArray, BufferOverReadableChannel, BufferOverReadableChannel.BufferView, BufferWithPages, RangeBufferDelegateBase, RangeBufferDelegateMutableImpl, RangeBufferImpl, RangeBufferUnion, SubBufferImpl

public interface BufferLike<A> extends ArrayWritable<A>, ArrayReadable<A>
BufferLike is a common interface for Buffer and RangeBuffer. Even though both specializations have most methods in common, the semantics differ in subtle ways: A buffer must support reading any slice of data within its capacity. A range buffer only allows for reading within valid ranges and raises an exception upon violation.
  • Method Details

    • getCapacity

      long getCapacity()
      Buffers with 'unlimited' capacity should return Long.MAX_VALUE
    • slice

      BufferLike<A> slice(long offset, long length)