org.apache.pdfbox.cos
Class COSString

java.lang.Object
  extended by org.apache.pdfbox.cos.COSBase
      extended by org.apache.pdfbox.cos.COSString
All Implemented Interfaces:
COSObjectable

public class COSString
extends COSBase

This represents a string object in a PDF document.

Version:
$Revision: 1.30 $
Author:
Ben Litchfield

Field Summary
static byte[] BS_ESCAPE
          BS escape characters.
static byte[] CR_ESCAPE
          CR escape characters.
static byte[] ESCAPE
          the escape character in strings.
static byte[] FF_ESCAPE
          FF escape characters.
static byte[] HEX_STRING_CLOSE
          One of the close string tokens.
static byte[] HEX_STRING_OPEN
          One of the open string tokens.
static byte[] HT_ESCAPE
          HT escape characters.
static byte[] LF_ESCAPE
          LF escape characters.
static byte[] STRING_CLOSE
          One of the close string tokens.
static byte[] STRING_OPEN
          One of the open string tokens.
 
Constructor Summary
COSString()
          Constructor.
COSString(byte[] value)
          Explicit constructor for ease of manual PDF construction.
COSString(String value)
          Explicit constructor for ease of manual PDF construction.
 
Method Summary
 Object accept(ICOSVisitor visitor)
          visitor pattern double dispatch method.
 void append(byte[] data)
          This will append a byte[] to the string.
 void append(int in)
          This will append a byte to the string.
static COSString createFromHexString(String hex)
          This will create a COS string from a string of hex characters.
static COSString createFromHexString(String hex, boolean force)
          Creates a COS string from a string of hex characters, optionally ignoring malformed input.
 boolean equals(Object obj)
          
 byte[] getBytes()
          This will get the bytes of the string.
 String getHexString()
          This will take this string and create a hex representation of the bytes that make the string.
 String getString()
          This will get the string that this object wraps.
 int hashCode()
          
 void reset()
          This will reset the internal buffer.
 void setForceLiteralForm(boolean v)
          Forces the string to be written in literal form instead of hexadecimal form.
 String toString()
          
 void writePDF(OutputStream output)
          This will output this string as a PDF object.
 
Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, getFilterManager
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

STRING_OPEN

public static final byte[] STRING_OPEN
One of the open string tokens.


STRING_CLOSE

public static final byte[] STRING_CLOSE
One of the close string tokens.


HEX_STRING_OPEN

public static final byte[] HEX_STRING_OPEN
One of the open string tokens.


HEX_STRING_CLOSE

public static final byte[] HEX_STRING_CLOSE
One of the close string tokens.


ESCAPE

public static final byte[] ESCAPE
the escape character in strings.


CR_ESCAPE

public static final byte[] CR_ESCAPE
CR escape characters.


LF_ESCAPE

public static final byte[] LF_ESCAPE
LF escape characters.


HT_ESCAPE

public static final byte[] HT_ESCAPE
HT escape characters.


BS_ESCAPE

public static final byte[] BS_ESCAPE
BS escape characters.


FF_ESCAPE

public static final byte[] FF_ESCAPE
FF escape characters.

Constructor Detail

COSString

public COSString()
Constructor.


COSString

public COSString(String value)
Explicit constructor for ease of manual PDF construction.

Parameters:
value - The string value of the object.

COSString

public COSString(byte[] value)
Explicit constructor for ease of manual PDF construction.

Parameters:
value - The string value of the object.
Method Detail

setForceLiteralForm

public void setForceLiteralForm(boolean v)
Forces the string to be written in literal form instead of hexadecimal form.

Parameters:
v - if v is true the string will be written in literal form, otherwise it will be written in hexa if necessary.

createFromHexString

public static COSString createFromHexString(String hex)
                                     throws IOException
This will create a COS string from a string of hex characters.

Parameters:
hex - A hex string.
Returns:
A cos string with the hex characters converted to their actual bytes.
Throws:
IOException - If there is an error with the hex string.

createFromHexString

public static COSString createFromHexString(String hex,
                                            boolean force)
                                     throws IOException
Creates a COS string from a string of hex characters, optionally ignoring malformed input.

Parameters:
hex - A hex string.
force - flag to ignore malformed input
Returns:
A cos string with the hex characters converted to their actual bytes.
Throws:
IOException - If there is an error with the hex string.

getHexString

public String getHexString()
This will take this string and create a hex representation of the bytes that make the string.

Returns:
A hex string representing the bytes in this string.

getString

public String getString()
This will get the string that this object wraps.

Returns:
The wrapped string.

append

public void append(byte[] data)
            throws IOException
This will append a byte[] to the string.

Parameters:
data - The byte[] to add to this string.
Throws:
IOException - If an IO error occurs while writing the byte.

append

public void append(int in)
            throws IOException
This will append a byte to the string.

Parameters:
in - The byte to add to this string.
Throws:
IOException - If an IO error occurs while writing the byte.

reset

public void reset()
This will reset the internal buffer.


getBytes

public byte[] getBytes()
This will get the bytes of the string.

Returns:
A byte array that represents the string.

toString

public String toString()

Overrides:
toString in class Object

writePDF

public void writePDF(OutputStream output)
              throws IOException
This will output this string as a PDF object.

Parameters:
output - The stream to write to.
Throws:
IOException - If there is an error writing to the stream.

accept

public Object accept(ICOSVisitor visitor)
              throws COSVisitorException
visitor pattern double dispatch method.

Specified by:
accept in class COSBase
Parameters:
visitor - The object to notify when visiting this object.
Returns:
any object, depending on the visitor implementation, or null
Throws:
COSVisitorException - If an error occurs while visiting this object.

equals

public boolean equals(Object obj)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object


Copyright © 2002-2010 The Apache Software Foundation. All Rights Reserved.