## 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, PdfDocument.PdfCatalog, PdfDocument.PdfInfo, PdfFileSpecification, PdfGState, PdfLayer, PdfLayerMembership, PdfMediaClipData, PdfOCProperties, PdfOutline, PdfPage, PdfRendition, PdfResources, PdfShadingPattern, PdfSignature, PdfStream, PdfStructureElement, PdfStructureTreeRoot, 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.3' section 4.7 (page 40-41).

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)`
`PdfObject` `get(PdfName key)` Gets a `PdfObject` with a certain key from the `PdfDictionary`.
`java.util.Set` `getKeys()`
`boolean` `isCatalog()` Checks if a `Dictionary` is of the type CATALOG.
`boolean` `isDictionaryType(PdfName type)` Deprecated.
`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 value)` Adds a `PdfObject` and its key to the `PdfDictionary`.
`void` `putAll(PdfDictionary dic)`
`void` `putEx(PdfName key, PdfObject value)` Adds a `PdfObject` and its key to the `PdfDictionary`.
`void` `remove(PdfName key)` Removes a `PdfObject` and its key from the `PdfDictionary`.
`int` `size()`
`void` `toPdf(PdfWriter writer, java.io.OutputStream os)` Returns the PDF representation of this `PdfDictionary`.
`java.lang.String` `toString()` Returns the `String`-representation of this `PdfObject`.

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

  Returns the PDF representation of this `PdfDictionary`.

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

### put

    public void put(PdfName key,
                    PdfObject value)

  Adds a `PdfObject` and its key to the `PdfDictionary`. If the value is `null` or `PdfNull` the key is deleted.

  Parameters:
    `key` - key of the entry (a `PdfName`)
    `value` - value of the entry (a `PdfObject`)

### putEx

    public void putEx(PdfName key,
                      PdfObject value)

  Adds a `PdfObject` and its key to the `PdfDictionary`. If the value is null it does nothing.

  Parameters:
    `key` - key of the entry (a `PdfName`)
    `value` - value of the entry (a `PdfObject`)

### remove

    public void remove(PdfName key)

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

  Parameters:
    `key` - key of the entry (a `PdfName`)

### get

    public PdfObject get(PdfName key)

  Gets a `PdfObject` with a certain key from the `PdfDictionary`.

  Parameters:
    `key` - key of the entry (a `PdfName`)
  Returns:
    the previous PdfObject corresponding with the key

### isDictionaryType

    public boolean isDictionaryType(PdfName type)

  Deprecated.

  Checks if a `PdfDictionary` is of a certain type.

  Parameters:
    `type` - a type of dictionary
  Returns:
    `true` of `false`

### isFont

    public boolean isFont()

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

  Returns:
    `true` if it is, `false` if it isn't.

### isPage

    public boolean isPage()

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

  Returns:
    `true` if it is, `false` if it isn't.

### isPages

    public boolean isPages()

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

  Returns:
    `true` if it is, `false` if it isn't.

### isCatalog

    public boolean isCatalog()

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

  Returns:
    `true` if it is, `false` if it isn't.

### isOutlineTree

    public boolean isOutlineTree()

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

  Returns:
    `true` if it is, `false` if it isn't.

### merge

    public void merge(PdfDictionary other)

### mergeDifferent

    public void mergeDifferent(PdfDictionary other)

### getKeys

    public java.util.Set getKeys()

### putAll

    public void putAll(PdfDictionary dic)

### size

    public int size()

### contains

    public boolean contains(PdfName key)

### toString

    public java.lang.String toString()

  Description copied from class: `PdfObject`
  Returns the `String`-representation of this `PdfObject`.

  Overrides:
    `toString` in class `PdfObject`
  Returns:
    a `String`