Apache Tomcat 7.0.37

org.apache.tomcat.util.buf
Class MessageBytes

java.lang.Object
  extended by org.apache.tomcat.util.buf.MessageBytes
All Implemented Interfaces:
Serializable, Cloneable

public final class MessageBytes
extends Object
implements Cloneable, Serializable

This class is used to represent a subarray of bytes in an HTTP message. It represents all request/response elements. The byte/char conversions are delayed and cached. Everything is recyclable. The object can represent a byte[], a char[], or a (sub) String. All operations can be made in case sensitive mode or not.

Author:
dac@eng.sun.com, James Todd [gonzo@eng.sun.com], Costin Manolache
See Also:
Serialized Form

Nested Class Summary
static class MessageBytes.MessageBytesFactory
           
 
Field Summary
static int T_BYTES
          getType() is T_STR if the the object used to create the MessageBytes was a byte[]
static int T_CHARS
          getType() is T_STR if the the object used to create the MessageBytes was a char[]
static int T_NULL
           
static int T_STR
          getType() is T_STR if the the object used to create the MessageBytes was a String
 
Method Summary
 void duplicate(MessageBytes src)
          Copy the src into this MessageBytes, allocating more space if needed
 boolean equals(MessageBytes mb)
           
 boolean equals(Object obj)
           
 boolean equals(String s)
          Compares the message bytes to the specified String object.
 boolean equalsIgnoreCase(String s)
          Compares the message bytes to the specified String object.
 ByteChunk getByteChunk()
          Returns the byte chunk, representing the byte[] and offset/length.
 CharChunk getCharChunk()
          Returns the char chunk, representing the char[] and offset/length.
 MessageBytes getClone()
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 int getInt()
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 int getLength()
          Returns the length of the original buffer.
 long getLong()
          Convert the buffer to an long, cache the value
 String getString()
          Returns the string value.
 int getType()
          Return the type of the original content.
 int hashCode()
           
 int indexOf(char c)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 int indexOf(char c, int starting)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 int indexOf(String s)
           
 int indexOf(String s, int starting)
           
 int indexOfIgnoreCase(String s, int starting)
           
 boolean isNull()
           
static MessageBytes newInstance()
          Construct a new MessageBytes instance
 void recycle()
          Resets the message bytes to an uninitialized (NULL) state.
 void setBytes(byte[] b, int off, int len)
          Sets the content to the specified subarray of bytes.
 void setChars(char[] c, int off, int len)
          Sets the content to be a char[]
 void setCharset(Charset charset)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
static void setFactory(MessageBytes.MessageBytesFactory mbf)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 void setInt(int i)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 void setLong(long l)
          Set the buffer to the representation of an long
 void setString(String s)
          Set the content to be a string
 boolean startsWith(String s)
          Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.
 boolean startsWithIgnoreCase(String s, int pos)
          Returns true if the message bytes starts with the specified string.
 void toBytes()
          Do a char->byte conversion.
 void toChars()
          Convert to char[] and fill the CharChunk.
 String toString()
          Compute the string value
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

T_NULL

public static final int T_NULL
See Also:
Constant Field Values

T_STR

public static final int T_STR
getType() is T_STR if the the object used to create the MessageBytes was a String

See Also:
Constant Field Values

T_BYTES

public static final int T_BYTES
getType() is T_STR if the the object used to create the MessageBytes was a byte[]

See Also:
Constant Field Values

T_CHARS

public static final int T_CHARS
getType() is T_STR if the the object used to create the MessageBytes was a char[]

See Also:
Constant Field Values
Method Detail

newInstance

public static MessageBytes newInstance()
Construct a new MessageBytes instance


getClone

@Deprecated
public MessageBytes getClone()
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.


isNull

public boolean isNull()

recycle

public void recycle()
Resets the message bytes to an uninitialized (NULL) state.


setBytes

public void setBytes(byte[] b,
                     int off,
                     int len)
Sets the content to the specified subarray of bytes.

Parameters:
b - the bytes
off - the start offset of the bytes
len - the length of the bytes

setCharset

@Deprecated
public void setCharset(Charset charset)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.

Set the encoding. If the object was constructed from bytes[]. any previous conversion is reset. If no encoding is set, we'll use 8859-1.


setChars

public void setChars(char[] c,
                     int off,
                     int len)
Sets the content to be a char[]

Parameters:
c - the bytes
off - the start offset of the bytes
len - the length of the bytes

setString

public void setString(String s)
Set the content to be a string


toString

public String toString()
Compute the string value

Overrides:
toString in class Object

getType

public int getType()
Return the type of the original content. Can be T_STR, T_BYTES, T_CHARS or T_NULL


getByteChunk

public ByteChunk getByteChunk()
Returns the byte chunk, representing the byte[] and offset/length. Valid only if T_BYTES or after a conversion was made.


getCharChunk

public CharChunk getCharChunk()
Returns the char chunk, representing the char[] and offset/length. Valid only if T_CHARS or after a conversion was made.


getString

public String getString()
Returns the string value. Valid only if T_STR or after a conversion was made.


toBytes

public void toBytes()
Do a char->byte conversion.


toChars

public void toChars()
Convert to char[] and fill the CharChunk. XXX Not optimized - it converts to String first.


getLength

public int getLength()
Returns the length of the original buffer. Note that the length in bytes may be different from the length in chars.


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

equalsIgnoreCase

public boolean equalsIgnoreCase(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(Object obj)
Overrides:
equals in class Object

equals

public boolean equals(MessageBytes mb)

startsWith

@Deprecated
public boolean startsWith(String s)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.

Returns true if the message bytes starts with the specified string.

Parameters:
s - the string

startsWithIgnoreCase

public boolean startsWithIgnoreCase(String s,
                                    int pos)
Returns true if the message bytes starts with the specified string.

Parameters:
s - the string
pos - The start position

hashCode

public int hashCode()
Overrides:
hashCode in class Object

indexOf

@Deprecated
public int indexOf(char c)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.


indexOf

public int indexOf(String s,
                   int starting)

indexOf

public int indexOf(String s)

indexOfIgnoreCase

public int indexOfIgnoreCase(String s,
                             int starting)

indexOf

@Deprecated
public int indexOf(char c,
                              int starting)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.

Returns true if the message bytes starts with the specified string.

Parameters:
c - the character
starting - The start position

duplicate

public void duplicate(MessageBytes src)
               throws IOException
Copy the src into this MessageBytes, allocating more space if needed

Throws:
IOException

setInt

@Deprecated
public void setInt(int i)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.

Set the buffer to the representation of an int


setLong

public void setLong(long l)
Set the buffer to the representation of an long


getInt

@Deprecated
public int getInt()
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.

Convert the buffer to an int, cache the value


getLong

public long getLong()
Convert the buffer to an long, cache the value


setFactory

@Deprecated
public static void setFactory(MessageBytes.MessageBytesFactory mbf)
Deprecated. Unused. Will be removed in Tomcat 8.0.x onwards.


Apache Tomcat 7.0.37

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.