## com.lowagie.text.pdf
Class PdfDictionary

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

Direct Known Subclasses:
  PdfAcroForm, PdfAction, PdfAnnotation, PdfBorderDictionary, PdfCollection, PdfCollectionField, PdfCollectionItem, PdfCollectionSchema, PdfCollectionSort, PdfDocument.PdfCatalog, PdfDocument.PdfInfo, PdfFileSpecification, PdfGState, PdfLayer, PdfLayerMembership, PdfMediaClipData, PdfOCProperties, PdfOutline, PdfPage, PdfRendition, PdfResources, PdfShadingPattern, PdfSignature, PdfStream, PdfStructureElement, PdfStructureTreeRoot, PdfTargetDictionary, PdfTransparencyGroup, PdfWriter.PdfTrailer, PRAcroForm

    public class PdfDictionary

extends PdfObject

`PdfDictionary` is the Pdf dictionary object.

A dictionary is an associative table containing pairs of objects. The first element of each pair is called the key and the second element is called the value. Unlike dictionaries in the PostScript language, a key must be a `PdfName`. A value can be any kind of `PdfObject`, including a dictionary. A dictionary is generally used to collect and tie together the attributes of a complex object, with each key-value pair specifying the name and value of an attribute.
A dictionary is represented by two left angle brackets (<<), followed by a sequence of key-value pairs, followed by two right angle brackets (>>).
This object is described in the 'Portable Document Format Reference Manual version 1.7' section 3.2.6 (page 59-60).

See Also:
  `PdfObject`, `PdfName`, `BadPdfFormatException`

Field Summary
`static PdfName` `CATALOG` This is a possible type of dictionary
`private PdfName` `dictionaryType` This is the type of this dictionary
`static PdfName` `FONT` This is a possible type of dictionary
`protected java.util.HashMap` `hashMap` This is the hashmap that contains all the values and keys of the dictionary
`static PdfName` `OUTLINES` This is a possible type of dictionary
`static PdfName` `PAGE` This is a possible type of dictionary
`static PdfName` `PAGES` This is a possible type of dictionary

Fields inherited from class com.lowagie.text.pdf.PdfObject
`ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

Constructor Summary
`PdfDictionary()` Constructs an empty `PdfDictionary`-object.
`PdfDictionary(PdfName type)` Constructs a `PdfDictionary`-object of a certain type.

Method Summary
`boolean` `contains(PdfName key)` Returns `true` if this `PdfDictionary` contains a mapping for the specified key.
`PdfObject` `get(PdfName key)` Returns the `PdfObject` associated to the specified key.
`PdfArray` `getAsArray(PdfName key)` Returns a `PdfObject` as a `PdfArray`, resolving indirect references.
`PdfBoolean` `getAsBoolean(PdfName key)` Returns a `PdfObject` as a `PdfBoolean`, resolving indirect references.
`PdfDictionary` `getAsDict(PdfName key)` Returns a `PdfObject` as a `PdfDictionary`, resolving indirect references.
`PdfIndirectReference` `getAsIndirectObject(PdfName key)` Returns a `PdfObject` as a `PdfIndirectReference`.
`PdfName` `getAsName(PdfName key)` Returns a `PdfObject` as a `PdfName`, resolving indirect references.
`PdfNumber` `getAsNumber(PdfName key)` Returns a `PdfObject` as a `PdfNumber`, resolving indirect references.
`PdfStream` `getAsStream(PdfName key)` Returns a `PdfObject` as a `PdfStream`, resolving indirect references.
`PdfString` `getAsString(PdfName key)` Returns a `PdfObject` as a `PdfString`, resolving indirect references.
`PdfObject` `getDirectObject(PdfName key)` Returns the `PdfObject` associated to the specified key, resolving a possible indirect reference to a direct object.
`java.util.Set` `getKeys()` Get all keys that are set.
`boolean` `isCatalog()` Checks if a `Dictionary` is of the type CATALOG.
`boolean` `isFont()` Checks if a `Dictionary` is of the type FONT.
`boolean` `isOutlineTree()` Checks if a `Dictionary` is of the type OUTLINES.
`boolean` `isPage()` Checks if a `Dictionary` is of the type PAGE.
`boolean` `isPages()` Checks if a `Dictionary` is of the type PAGES.
`void` `merge(PdfDictionary other)`
`void` `mergeDifferent(PdfDictionary other)`
`void` `put(PdfName key, PdfObject object)` Associates the specified `PdfObject` as value with the specified `PdfName` as key in this map.
`void` `putAll(PdfDictionary dic)` Copies all of the mappings from the specified `PdfDictionary` to this `PdfDictionary`.
`void` `putEx(PdfName key, PdfObject value)` Associates the specified `PdfObject` as value to the specified `PdfName` as key in this map.
`void` `remove(PdfName key)` Removes a `PdfObject` and its key from the `PdfDictionary`.
`int` `size()` Returns the number of key-value mappings in this `PdfDictionary`.
`void` `toPdf(PdfWriter writer, java.io.OutputStream os)` Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.
`java.lang.String` `toString()` Returns a string representation of this `PdfDictionary`.

Methods inherited from class com.lowagie.text.pdf.PdfObject
`canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### FONT

    public static final PdfName FONT

  This is a possible type of dictionary

### OUTLINES

    public static final PdfName OUTLINES

  This is a possible type of dictionary

### PAGE

    public static final PdfName PAGE

  This is a possible type of dictionary

### PAGES

    public static final PdfName PAGES

  This is a possible type of dictionary

### CATALOG

    public static final PdfName CATALOG

  This is a possible type of dictionary

### dictionaryType

    private PdfName dictionaryType

  This is the type of this dictionary

### hashMap

    protected java.util.HashMap hashMap

  This is the hashmap that contains all the values and keys of the dictionary

Constructor Detail

### PdfDictionary

    public PdfDictionary()

  Constructs an empty `PdfDictionary`-object.

### PdfDictionary

    public PdfDictionary(PdfName type)

  Constructs a `PdfDictionary`-object of a certain type.

  Parameters:
    `type` - a `PdfName`

Method Detail

### toPdf

    public void toPdf(PdfWriter writer,
                      java.io.OutputStream os)
               throws java.io.IOException

  Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.

  Overrides:
    `toPdf` in class `PdfObject`
  Parameters:
    `writer` - for backwards compatibility
    `os` - the `OutputStream` to write the bytes to.
  Throws:
    `java.io.IOException`

### toString

    public java.lang.String toString()

  Returns a string representation of this `PdfDictionary`. The string doesn't contain any of the content of this dictionary. Rather the string "dictionary" is returned, possibly followed by the type of this `PdfDictionary`, if set.

  Overrides:
    `toString` in class `PdfObject`
  Returns:
    the string representation of this `PdfDictionary`
  See Also:
    `PdfObject.toString()`

### put

    public void put(PdfName key,
                    PdfObject object)

  Associates the specified `PdfObject` as value with the specified `PdfName` as key in this map. If the map previously contained a mapping for this key, the old value is replaced. If the value is `null` or `PdfNull` the key is deleted.

  Parameters:
    `key` - a `PdfName`
    `object` - the `PdfObject` to be associated with the key

### putEx

    public void putEx(PdfName key,
                      PdfObject value)

  Associates the specified `PdfObject` as value to the specified `PdfName` as key in this map. If the value is a `PdfNull`, it is treated just as any other `PdfObject`. If the value is `null` however nothing is done.

  Parameters:
    `key` - a `PdfName`
    `value` - the `PdfObject` to be associated to the key

### putAll

    public void putAll(PdfDictionary dic)

  Copies all of the mappings from the specified `PdfDictionary` to this `PdfDictionary`. These mappings will replace any mappings previously contained in this `PdfDictionary`.

  Parameters:
    `dic` - The `PdfDictionary` with the mappings to be copied over

### remove

    public void remove(PdfName key)

  Removes a `PdfObject` and its key from the `PdfDictionary`.

  Parameters:
    `key` - a `PdfName`

### get

    public PdfObject get(PdfName key)

  Returns the `PdfObject` associated to the specified key.

  Parameters:
    `key` - a `PdfName`
  Returns:
    the PdfObject previously associated to the key

### getDirectObject

    public PdfObject getDirectObject(PdfName key)

  Returns the `PdfObject` associated to the specified key, resolving a possible indirect reference to a direct object. This method will never return a `PdfIndirectReference` object.

  Parameters:
    `key` - A key for the `PdfObject` to be returned
  Returns:
    A direct `PdfObject` or `null`

### getKeys

    public java.util.Set getKeys()

  Get all keys that are set.

  Returns:
    `true` if it is, otherwise `false`.

### size

    public int size()

  Returns the number of key-value mappings in this `PdfDictionary`.

  Returns:
    the number of key-value mappings in this `PdfDictionary`.

### contains

    public boolean contains(PdfName key)

  Returns `true` if this `PdfDictionary` contains a mapping for the specified key.

  Returns:
    `true` if the key is set, otherwise `false`.

### isFont

    public boolean isFont()

  Checks if a `Dictionary` is of the type FONT.

  Returns:
    `true` if it is, otherwise `false`.

### isPage

    public boolean isPage()

  Checks if a `Dictionary` is of the type PAGE.

  Returns:
    `true` if it is, otherwise `false`.

### isPages

    public boolean isPages()

  Checks if a `Dictionary` is of the type PAGES.

  Returns:
    `true` if it is, otherwise `false`.

### isCatalog

    public boolean isCatalog()

  Checks if a `Dictionary` is of the type CATALOG.

  Returns:
    `true` if it is, otherwise `false`.

### isOutlineTree

    public boolean isOutlineTree()

  Checks if a `Dictionary` is of the type OUTLINES.

  Returns:
    `true` if it is, otherwise `false`.

### merge

    public void merge(PdfDictionary other)

### mergeDifferent

    public void mergeDifferent(PdfDictionary other)

### getAsDict

    public PdfDictionary getAsDict(PdfName key)

  Returns a `PdfObject` as a `PdfDictionary`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfDictionary`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfDictionary` object, or `null`

### getAsArray

    public PdfArray getAsArray(PdfName key)

  Returns a `PdfObject` as a `PdfArray`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfArray`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfArray` object, or `null`

### getAsStream

    public PdfStream getAsStream(PdfName key)

  Returns a `PdfObject` as a `PdfStream`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfStream`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfStream` object, or `null`

### getAsString

    public PdfString getAsString(PdfName key)

  Returns a `PdfObject` as a `PdfString`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfString`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfString` object, or `null`

### getAsNumber

    public PdfNumber getAsNumber(PdfName key)

  Returns a `PdfObject` as a `PdfNumber`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfNumber`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfNumber` object, or `null`

### getAsName

    public PdfName getAsName(PdfName key)

  Returns a `PdfObject` as a `PdfName`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfName`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfName` object, or `null`

### getAsBoolean

    public PdfBoolean getAsBoolean(PdfName key)

  Returns a `PdfObject` as a `PdfBoolean`, resolving indirect references. The object associated with the `PdfName` given is retrieved and resolved to a direct object. If it is a `PdfBoolean`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfBoolean` object, or `null`

### getAsIndirectObject

    public PdfIndirectReference getAsIndirectObject(PdfName key)

  Returns a `PdfObject` as a `PdfIndirectReference`. The object associated with the `PdfName` given is retrieved If it is a `PdfIndirectReference`, it is cast down and returned as such. Otherwise `null` is returned.

  Parameters:
    `key` - A `PdfName`
  Returns:
    the associated `PdfIndirectReference` object, or `null`

Hosted by Hostbasket