Class HeapResource

  • All Implemented Interfaces:
    java.io.Serializable

    @Contract(threading=IMMUTABLE)
    public class HeapResource
    extends Resource
    Cache resource backed by a byte array on the heap.
    Since:
    4.1
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.concurrent.atomic.AtomicReference<byte[]> arrayRef  
      private static long serialVersionUID  
    • Constructor Summary

      Constructors 
      Constructor Description
      HeapResource​(byte[] b)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Indicates the system no longer needs to keep this response body and any system resources associated with it may be reclaimed.
      byte[] get()
      Returns resource content as a byte array.
      long length()
      Returns the length in bytes of the response body.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • arrayRef

        private final java.util.concurrent.atomic.AtomicReference<byte[]> arrayRef
    • Constructor Detail

      • HeapResource

        public HeapResource​(byte[] b)
    • Method Detail

      • get

        public byte[] get()
                   throws ResourceIOException
        Description copied from class: Resource
        Returns resource content as a byte array.

        Please note for memory efficiency some resource implementations may return a reference to the underlying byte array. The returned value should be treated as immutable.

        Specified by:
        get in class Resource
        Throws:
        ResourceIOException
      • length

        public long length()
        Description copied from class: Resource
        Returns the length in bytes of the response body.
        Specified by:
        length in class Resource
      • dispose

        public void dispose()
        Description copied from class: Resource
        Indicates the system no longer needs to keep this response body and any system resources associated with it may be reclaimed.
        Specified by:
        dispose in class Resource