java.lang.Object
org.glassfish.grizzly.http.util.DataChunk
All Implemented Interfaces:
Chunk
Direct Known Subclasses:
CacheableDataChunk

public class DataChunk extends Object implements Chunk
Buffer chunk representation. Helps HTTP module to avoid redundant String creation.
Author:
Alexey Stashok
  • Constructor Details

  • Method Details

    • newInstance

      public static DataChunk newInstance()
    • newInstance

      public static DataChunk newInstance(ByteChunk byteChunk, BufferChunk bufferChunk, CharChunk charChunk, String stringValue)
    • toImmutable

      public DataChunk toImmutable()
    • getType

      public DataChunk.Type getType()
    • set

      public void set(DataChunk value)
    • set

      public void set(DataChunk value, int start, int end)
    • notifyDirectUpdate

      public void notifyDirectUpdate()
      Notify the Chunk that its content is going to be changed directly
    • getBufferChunk

      public BufferChunk getBufferChunk()
    • setBuffer

      public void setBuffer(org.glassfish.grizzly.Buffer buffer, int position, int limit)
    • setBuffer

      public void setBuffer(org.glassfish.grizzly.Buffer buffer)
    • getCharChunk

      public CharChunk getCharChunk()
    • setChars

      public void setChars(char[] chars, int position, int limit)
    • getByteChunk

      public ByteChunk getByteChunk()
    • setBytes

      public void setBytes(byte[] bytes)
    • setBytes

      public void setBytes(byte[] bytes, int position, int limit)
    • setString

      public void setString(String string)
    • trimLeft

      public void trimLeft()
    • duplicate

      public void duplicate(DataChunk src)
      Copy the src into this DataChunk, allocating more space if needed
    • toChars

      public void toChars(Charset charset) throws CharConversionException
      Throws:
      CharConversionException
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public String toString(Charset charset)
    • getLength

      public int getLength()
      Returns the DataChunk length.
      Specified by:
      getLength in interface Chunk
      Returns:
      the DataChunk length.
    • getStart

      public int getStart()
      Returns the DataChunk start position.
      Specified by:
      getStart in interface Chunk
      Returns:
      the DataChunk start position.
    • setStart

      public void setStart(int start)
      Sets the DataChunk start position.
      Specified by:
      setStart in interface Chunk
      Parameters:
      start - the DataChunk start position.
    • getEnd

      public int getEnd()
      Returns the DataChunk end position.
      Specified by:
      getEnd in interface Chunk
      Returns:
      the DataChunk end position.
    • setEnd

      public void setEnd(int end)
      Sets the DataChunk end position.
      Specified by:
      setEnd in interface Chunk
      Parameters:
      end - the DataChunk end position.
    • indexOf

      public final int indexOf(char c, int fromIndex)
      Returns true if the message bytes starts with the specified string.
      Specified by:
      indexOf in interface Chunk
      Parameters:
      c - the character
      fromIndex - The start position
    • indexOf

      public final int indexOf(String s, int fromIndex)
      Returns true if the message bytes starts with the specified string.
      Specified by:
      indexOf in interface Chunk
      Parameters:
      s - the string
      fromIndex - The start position
    • delete

      public final void delete(int from, int to)
      Specified by:
      delete in interface Chunk
    • toString

      public String toString(int start, int end)
      Specified by:
      toString in interface Chunk
    • equals

      public boolean equals(Object object)
      Compares this DataChunk and the passed object.
      Overrides:
      equals in class Object
      Parameters:
      object - the Object to compare
      Returns:
      true if the passed object represents another DataChunk and its content is equal to this DataChunk's content.
    • equals

      public boolean equals(String s)
      Compares the message bytes to the specified String object.
      Parameters:
      s - the String to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equals

      public boolean equals(ByteChunk byteChunkToCheck)
      Compares the message data to the specified ByteChunk.
      Parameters:
      byteChunkToCheck - the ByteChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equals

      public boolean equals(BufferChunk bufferChunkToCheck)
      Compares the message data to the specified BufferChunk.
      Parameters:
      bufferChunkToCheck - the BufferChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equals

      public boolean equals(CharChunk charChunkToCheck)
      Compares the message data to the specified CharChunk.
      Parameters:
      charChunkToCheck - the CharChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equals

      public boolean equals(byte[] bytes)
      Compares the message data to the specified byte[].
      Parameters:
      bytes - the byte[] to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equals

      public boolean equals(byte[] bytes, int start, int len)
      Compares the message data to the specified byte[].
      Parameters:
      bytes - the byte[] to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(Object object)
      Compares this DataChunk and the passed object ignoring case considerations.
      Parameters:
      object - the Object to compare
      Returns:
      true if the passed object represents another DataChunk and its content is equal to this DataChunk's content ignoring case considerations.
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(String s)
      Compares the message bytes to the specified String object ignoring case considerations.
      Parameters:
      s - the String to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(ByteChunk byteChunkToCheck)
      Compares the message data to the specified ByteChunk ignoring case considerations.
      Parameters:
      byteChunkToCheck - the ByteChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(BufferChunk bufferChunkToCheck)
      Compares the message data to the specified BufferChunk ignoring case considerations.
      Parameters:
      bufferChunkToCheck - the BufferChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(CharChunk charChunkToCheck)
      Compares the message data to the specified CharChunk ignoring case considerations.
      Parameters:
      charChunkToCheck - the CharChunk to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(byte[] bytes)
      Compares the message data to the specified byte[] ignoring case considerations.
      Parameters:
      bytes - the byte[] to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • equalsIgnoreCase

      public boolean equalsIgnoreCase(byte[] bytes, int start, int len)
      Compares the message data to the specified byte[] ignoring case considerations.
      Parameters:
      bytes - the byte[] to compare
      Returns:
      true if the comparison succeeded, false otherwise
    • hashCode

      public int hashCode()
      Returns DataChunk hash code.
      Overrides:
      hashCode in class Object
      Returns:
      DataChunk hash code.
    • equalsIgnoreCaseLowerCase

      public final boolean equalsIgnoreCaseLowerCase(byte[] b)
      Compares the data chunk to the specified byte array representing lower-case ASCII characters.
      Parameters:
      b - the byte[] to compare
      Returns:
      true if the comparison succeeded, false otherwise
      Since:
      2.1.2
    • startsWith

      public final boolean startsWith(String s, int pos)
      Returns true if the DataChunk starts with the specified string.
      Parameters:
      s - the string
      pos - The start position
      Returns:
      true if the DataChunk starts with the specified string.
    • startsWithIgnoreCase

      public final boolean startsWithIgnoreCase(String s, int pos)
      Returns true if the DataChunk starts with the specified string.
      Parameters:
      s - the string
      pos - The start position
      Returns:
      true if the DataChunk starts with the specified string.
    • isNull

      public final boolean isNull()
    • resetBuffer

      protected void resetBuffer()
    • resetCharChunk

      protected void resetCharChunk()
    • resetByteChunk

      protected void resetByteChunk()
    • resetString

      protected void resetString()
    • reset

      protected void reset()
    • recycle

      public void recycle()