com.itextpdf.text.pdf
Class PdfObject

java.lang.Object
  extended by com.itextpdf.text.pdf.PdfObject
Direct Known Subclasses:
PdfArray, PdfBoolean, PdfDictionary, PdfIndirectReference, PdfLiteral, PdfName, PdfNull, PdfNumber, PdfString

public abstract class PdfObject
extends Object

PdfObject is the abstract superclass of all PDF objects.

PDF supports seven basic types of objects: Booleans, numbers, strings, names, arrays, dictionaries and streams. In addition, PDF provides a null object. Objects may be labeled so that they can be referred to by other objects.
All these basic PDF objects are described in the 'Portable Document Format Reference Manual version 1.3' Chapter 4 (pages 37-54).

See Also:
PdfNull, PdfBoolean, PdfNumber, PdfString, PdfName, PdfArray, PdfDictionary, PdfStream, PdfIndirectReference

Field Summary
static int ARRAY
          A possible type of PdfObject
static int BOOLEAN
          A possible type of PdfObject
protected  byte[] bytes
          The content of this PdfObject
static int DICTIONARY
          A possible type of PdfObject
static int INDIRECT
          A possible type of PdfObject
protected  PRIndirectReference indRef
          Holds the indirect reference.
static int NAME
          A possible type of PdfObject
static String NOTHING
          An empty string used for the PdfNull-object and for an empty PdfString-object.
static int NULL
          A possible type of PdfObject
static int NUMBER
          A possible type of PdfObject
static int STREAM
          A possible type of PdfObject
static int STRING
          A possible type of PdfObject
static String TEXT_PDFDOCENCODING
          This is the default encoding to be used for converting Strings into bytes and vice versa.
static String TEXT_UNICODE
          This is the encoding to be used to output text in Unicode.
protected  int type
          The type of this PdfObject
 
Constructor Summary
protected PdfObject(int type)
          Constructs a PdfObject of a certain type without any content.
protected PdfObject(int type, byte[] bytes)
          Constructs a PdfObject of a certain type with a certain content.
protected PdfObject(int type, String content)
          Constructs a PdfObject of a certain type with a certain content.
 
Method Summary
 boolean canBeInObjStm()
          Whether this object can be contained in an object stream.
 byte[] getBytes()
          Gets the presentation of this object in a byte array
 PRIndirectReference getIndRef()
          Get the indirect reference
 boolean isArray()
          Checks if this PdfObject is of the type PdfArray.
 boolean isBoolean()
          Checks if this PdfObject is of the type PdfBoolean.
 boolean isDictionary()
          Checks if this PdfObject is of the type PdfDictionary.
 boolean isIndirect()
          Checks if this PdfObject is of the type PdfIndirectObject.
 boolean isName()
          Checks if this PdfObject is of the type PdfName.
 boolean isNull()
          Checks if this PdfObject is of the type PdfNull.
 boolean isNumber()
          Checks if this PdfObject is of the type PdfNumber.
 boolean isStream()
          Checks if this PdfObject is of the type PdfStream.
 boolean isString()
          Checks if this PdfObject is of the type PdfString.
 int length()
          Returns the length of the actual content of the PdfObject.
protected  void setContent(String content)
          Changes the content of this PdfObject.
 void setIndRef(PRIndirectReference indRef)
          Set the indirect reference
 void toPdf(PdfWriter writer, OutputStream os)
          Writes the PDF representation of this PdfObject as an array of bytes to the writer.
 String toString()
          Returns the String-representation of this PdfObject.
 int type()
          Returns the type of this PdfObject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BOOLEAN

public static final int BOOLEAN
A possible type of PdfObject

See Also:
Constant Field Values

NUMBER

public static final int NUMBER
A possible type of PdfObject

See Also:
Constant Field Values

STRING

public static final int STRING
A possible type of PdfObject

See Also:
Constant Field Values

NAME

public static final int NAME
A possible type of PdfObject

See Also:
Constant Field Values

ARRAY

public static final int ARRAY
A possible type of PdfObject

See Also:
Constant Field Values

DICTIONARY

public static final int DICTIONARY
A possible type of PdfObject

See Also:
Constant Field Values

STREAM

public static final int STREAM
A possible type of PdfObject

See Also:
Constant Field Values

NULL

public static final int NULL
A possible type of PdfObject

See Also:
Constant Field Values

INDIRECT

public static final int INDIRECT
A possible type of PdfObject

See Also:
Constant Field Values

NOTHING

public static final String NOTHING
An empty string used for the PdfNull-object and for an empty PdfString-object.

See Also:
Constant Field Values

TEXT_PDFDOCENCODING

public static final String TEXT_PDFDOCENCODING
This is the default encoding to be used for converting Strings into bytes and vice versa. The default encoding is PdfDocEncoding.

See Also:
Constant Field Values

TEXT_UNICODE

public static final String TEXT_UNICODE
This is the encoding to be used to output text in Unicode.

See Also:
Constant Field Values

bytes

protected byte[] bytes
The content of this PdfObject


type

protected int type
The type of this PdfObject


indRef

protected PRIndirectReference indRef
Holds the indirect reference.

Constructor Detail

PdfObject

protected PdfObject(int type)
Constructs a PdfObject of a certain type without any content.

Parameters:
type - type of the new PdfObject

PdfObject

protected PdfObject(int type,
                    String content)
Constructs a PdfObject of a certain type with a certain content.

Parameters:
type - type of the new PdfObject
content - content of the new PdfObject as a String.

PdfObject

protected PdfObject(int type,
                    byte[] bytes)
Constructs a PdfObject of a certain type with a certain content.

Parameters:
type - type of the new PdfObject
bytes - content of the new PdfObject as an array of byte.
Method Detail

toPdf

public void toPdf(PdfWriter writer,
                  OutputStream os)
           throws IOException
Writes the PDF representation of this PdfObject as an array of bytes to the writer.

Parameters:
writer - for backwards compatibility
os - The OutputStream to write the bytes to.
Throws:
IOException

toString

public String toString()
Returns the String-representation of this PdfObject.

Overrides:
toString in class Object
Returns:
a String

getBytes

public byte[] getBytes()
Gets the presentation of this object in a byte array

Returns:
a byte array

canBeInObjStm

public boolean canBeInObjStm()
Whether this object can be contained in an object stream. PdfObjects of type STREAM OR INDIRECT can not be contained in an object stream.

Returns:
true if this object can be in an object stream. Otherwise false

length

public int length()
Returns the length of the actual content of the PdfObject.

In some cases, namely for PdfString and PdfStream, this method differs from the method pdfLength because pdfLength returns the length of the PDF representation of the object, not of the actual content as does the method length.

Remark: the actual content of an object is in some cases identical to its representation. The following statement is always true: length() >= pdfLength().

Returns:
The length as int

setContent

protected void setContent(String content)
Changes the content of this PdfObject.

Parameters:
content - the new content of this PdfObject

type

public int type()
Returns the type of this PdfObject. May be either of: - NULL: A PdfNull - BOOLEAN: A PdfBoolean - NUMBER: A PdfNumber - STRING: A PdfString - NAME: A PdfName - ARRAY: A PdfArray - DICTIONARY: A PdfDictionary - STREAM: A PdfStream - INDIRECT: >PdfIndirectObject

Returns:
The type

isNull

public boolean isNull()
Checks if this PdfObject is of the type PdfNull.

Returns:
true or false

isBoolean

public boolean isBoolean()
Checks if this PdfObject is of the type PdfBoolean.

Returns:
true or false

isNumber

public boolean isNumber()
Checks if this PdfObject is of the type PdfNumber.

Returns:
true or false

isString

public boolean isString()
Checks if this PdfObject is of the type PdfString.

Returns:
true or false

isName

public boolean isName()
Checks if this PdfObject is of the type PdfName.

Returns:
true or false

isArray

public boolean isArray()
Checks if this PdfObject is of the type PdfArray.

Returns:
true or false

isDictionary

public boolean isDictionary()
Checks if this PdfObject is of the type PdfDictionary.

Returns:
true or false

isStream

public boolean isStream()
Checks if this PdfObject is of the type PdfStream.

Returns:
true or false

isIndirect

public boolean isIndirect()
Checks if this PdfObject is of the type PdfIndirectObject.

Returns:
true if this is an indirect object, otherwise false

getIndRef

public PRIndirectReference getIndRef()
Get the indirect reference

Returns:
A PdfIndirectReference

setIndRef

public void setIndRef(PRIndirectReference indRef)
Set the indirect reference

Parameters:
indRef - New value as a PdfIndirectReference

Hosted by Hostbasket