Class AbstractChunk

java.lang.Object
org.apache.tomcat.util.buf.AbstractChunk
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
ByteChunk, CharChunk

public abstract class AbstractChunk extends Object implements Cloneable, Serializable
Base class for the *Chunk implementation to reduce duplication.
See Also:
  • Field Details

    • sm

      protected static final StringManager sm
    • ARRAY_MAX_SIZE

      public static final int ARRAY_MAX_SIZE
      See Also:
    • hasHashCode

      protected boolean hasHashCode
    • isSet

      protected boolean isSet
    • start

      protected int start
    • end

      protected int end
  • Constructor Details

    • AbstractChunk

      public AbstractChunk()
  • Method Details

    • setLimit

      public void setLimit(int limit)
      Maximum amount of data in this buffer. If -1 or not set, the buffer will grow to {ARRAY_MAX_SIZE. Can be smaller than the current buffer size ( which will not shrink ). When the limit is reached, the buffer will be flushed (if out is set) or throw exception.
      Parameters:
      limit - The new limit
    • getLimit

      public int getLimit()
      Returns:
      the maximum amount of data in the buffer, and -1 if it has not been set
    • getLimitInternal

      protected int getLimitInternal()
    • getStart

      public int getStart()
      Returns:
      the start position of the data in the buffer
    • setStart

      public void setStart(int start)
      Set the start position of the data in the buffer.
      Parameters:
      start - the new start position
    • getEnd

      public int getEnd()
      Returns:
      the end position of the data in the buffer
    • setEnd

      public void setEnd(int end)
      Set the end position of the data in the buffer.
      Parameters:
      end - the new end position
    • getOffset

      @Deprecated public int getOffset()
      Deprecated.
      Unused. This method will be removed in Tomcat 12.
      Returns:
      start
    • setOffset

      @Deprecated public void setOffset(int off)
      Deprecated.
      Unused. This method will be removed in Tomcat 12.
      Set start.
      Parameters:
      off - the new start
    • getLength

      public int getLength()
      Returns:
      the length of the data in the buffer
    • isNull

      public boolean isNull()
      Returns:
      true if the buffer contains no data
    • indexOf

      public int indexOf(String src, int srcStart, int srcLen, int myOffset)
      Return the index of the first occurrence of the subsequence of the given String, or -1 if it is not found.
      Parameters:
      src - the String to look for
      srcStart - the subsequence start in the String
      srcLen - the subsequence length in the String
      myOffset - the index on which to start the search in the buffer
      Returns:
      the position of the first character of the first occurrence of the subsequence in the buffer, or -1 if not found
    • recycle

      public void recycle()
      Resets the chunk to an uninitialized state.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • hash

      public int hash()
      Returns:
      the hash code for this buffer
    • getBufferElement

      protected abstract int getBufferElement(int index)
      Parameters:
      index - the element location in the buffer
      Returns:
      the element