## com.lowagie.text.pdf
Class PdfObject

    java.lang.Object
      com.lowagie.text.pdf.PdfObject

Direct Known Subclasses:
  PdfArray, PdfBoolean, PdfDictionary, PdfIndirectReference, PdfLiteral, PdfName, PdfNull, PdfNumber, PdfString

    public abstract class PdfObject

extends java.lang.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 java.lang.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 java.lang.String` `TEXT_PDFDOCENCODING` This is the default encoding to be used for converting Strings into bytes and vice versa.
`static java.lang.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, java.lang.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(java.lang.String content)` Changes the content of this `PdfObject`.
`void` `setIndRef(PRIndirectReference indRef)` Set the indirect reference
`void` `toPdf(PdfWriter writer, java.io.OutputStream os)` Writes the PDF representation of this `PdfObject` as an array of `byte`s to the writer.
`java.lang.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 java.lang.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 java.lang.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 java.lang.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,
                        java.lang.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,
                      java.io.OutputStream os)
               throws java.io.IOException

  Writes the PDF representation of this `PdfObject` as an array of `byte`s to the writer.

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

### toString

    public java.lang.String toString()

  Returns the `String`-representation of this `PdfObject`.

  Overrides:
    `toString` in class `java.lang.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(java.lang.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