org.jfree.pixie.wmf
Class Buffer

java.lang.Object
  extended byorg.jfree.pixie.wmf.Buffer
Direct Known Subclasses:
MfHeader, MfRecord

public class Buffer
extends java.lang.Object

A block of raw mmeory. This is used to store various metafile objects as they are read in from file.


Field Summary
protected  byte[] bytes
          The memory itself.
 
Constructor Summary
protected Buffer()
          Default Constructor.
protected Buffer(int length)
          Defines a new buffer with the given initial size in bytes.
 
Method Summary
 int getByte(int offset)
          Return the 8-bit int at the given byte offset.
 java.io.InputStream getInputStream(int offset)
          Gets an input stream to read from the memory buffer.
 int getInt(int offset)
          Return the 32-bit int at the given byte offset.
 int getLength()
          The size of the stored data in the memory.
 int getShort(int offset)
          Return the 16-bit int at the given byte offset.
 java.lang.String getString(int offset, int len)
          Return the null-terminated string at the given byte offset with the given maximum length.
 void read(java.io.InputStream in, int offset, int len)
          Read len bytes into the memory from a stream and stores the read bytes at the given offset.
 void setByte(int offset, int value)
          Sets the byte at the given offset.
protected  void setCapacity(int capacity)
          Ensures that the buffer has enough space for the given number of bytes.
 void setInt(int offset, int value)
          Set the int value as big-endian.
protected  void setLength(int len)
          Extends the length to the given new size.
 void setShort(int offset, int shortval)
          Stores the given short as BigEndian value.
 void setString(int offset, java.lang.String str)
          Writes the given string as byte stream using the plattforms default encoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bytes

protected byte[] bytes
The memory itself.

Constructor Detail

Buffer

protected Buffer()
Default Constructor. Defines a buffer without an initial size.


Buffer

protected Buffer(int length)
Defines a new buffer with the given initial size in bytes.

Parameters:
length - the length of the buffer in bytes.
Method Detail

getLength

public final int getLength()
The size of the stored data in the memory.


setLength

protected void setLength(int len)
Extends the length to the given new size.

Parameters:
len - the new length.
Throws:
java.lang.IllegalArgumentException - if the length is shorter than the used storage in memory.

setCapacity

protected void setCapacity(int capacity)
Ensures that the buffer has enough space for the given number of bytes.

Parameters:
capacity - the new capacity that should be ensured.
Throws:
java.lang.IllegalArgumentException - if the capacity is smaller than the buffers length.

read

public void read(java.io.InputStream in,
                 int offset,
                 int len)
          throws java.io.IOException
Read len bytes into the memory from a stream and stores the read bytes at the given offset.

Parameters:
in - the input stream that should be used
offset - the offset
len - the number bytes that should be read.
Throws:
java.io.IOException

setInt

public void setInt(int offset,
                   int value)
Set the int value as big-endian.

Parameters:
offset - the offset where to set the int value.
value - the integer value that should be set.

getInt

public int getInt(int offset)
Return the 32-bit int at the given byte offset.

Parameters:
offset - the offset where the integer value is stored in the memory
Returns:
the integer.

setShort

public void setShort(int offset,
                     int shortval)
Stores the given short as BigEndian value.

Parameters:
offset - the offset.
shortval - the shortvalue.

getShort

public int getShort(int offset)
Return the 16-bit int at the given byte offset.

Parameters:
offset - the offset from where to read the short.
Returns:
the short.

setByte

public void setByte(int offset,
                    int value)
Sets the byte at the given offset.

Parameters:
offset - the offset.
value - the byte that should be set.

getByte

public int getByte(int offset)
Return the 8-bit int at the given byte offset.

Parameters:
offset - the offset from where to read the byte
Returns:
the byte read.

setString

public void setString(int offset,
                      java.lang.String str)
Writes the given string as byte stream using the plattforms default encoding.

Parameters:
offset - the offset, where to store the string.
str - the string that should be stored in the Wmf.

getString

public java.lang.String getString(int offset,
                                  int len)
Return the null-terminated string at the given byte offset with the given maximum length.

Parameters:
offset - the offset where the string starts
len - the maximum length of the string
Returns:
the null-terminated string read.

getInputStream

public java.io.InputStream getInputStream(int offset)
Gets an input stream to read from the memory buffer.

Parameters:
offset - the offse, from where to read.
Returns:
the InputStream.