Class ObjectStream.SmallStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Enclosing class:
    ObjectStream

    public static class ObjectStream.SmallStream
    extends ObjectStream
    Simple stream around the cached byte array created by a loader.

    ObjectLoader implementations can use this stream type when the object's content is small enough to be accessed as a single byte array, but the application has still requested it in stream format.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private byte[] data  
      private int mark  
      private int ptr  
      private int type  
    • Constructor Summary

      Constructors 
      Constructor Description
      SmallStream​(int type, byte[] data)
      Create the stream from an existing byte array and type.
      SmallStream​(ObjectLoader loader)
      Create the stream from an existing loader's cached bytes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()  
      long getSize()
      Get total size of object in bytes
      int getType()
      Get Git object type, see Constants.
      void mark​(int readlimit)  
      boolean markSupported()  
      int read()  
      int read​(byte[] b, int off, int len)  
      void reset()  
      long skip​(long n)  
      • Methods inherited from class java.io.InputStream

        close, read
      • Methods inherited from class java.lang.Object

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

      • type

        private final int type
      • data

        private final byte[] data
      • ptr

        private int ptr
      • mark

        private int mark
    • Constructor Detail

      • SmallStream

        public SmallStream​(ObjectLoader loader)
        Create the stream from an existing loader's cached bytes.
        Parameters:
        loader - the loader.
      • SmallStream

        public SmallStream​(int type,
                           byte[] data)
        Create the stream from an existing byte array and type.
        Parameters:
        type - the type constant for the object.
        data - the fully inflated content of the object.
    • Method Detail

      • getSize

        public long getSize()
        Description copied from class: ObjectStream
        Get total size of object in bytes
        Specified by:
        getSize in class ObjectStream
        Returns:
        total size of object in bytes
      • available

        public int available()
        Overrides:
        available in class java.io.InputStream
      • skip

        public long skip​(long n)
        Overrides:
        skip in class java.io.InputStream
      • read

        public int read()
        Specified by:
        read in class java.io.InputStream
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
        Overrides:
        read in class java.io.InputStream
      • markSupported

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.InputStream
      • mark

        public void mark​(int readlimit)
        Overrides:
        mark in class java.io.InputStream
      • reset

        public void reset()
        Overrides:
        reset in class java.io.InputStream