.. index:: 
  !DocumentInfoDictionary Class

.. _id3_document_document_info_dictionary_class:

===============================================================================
DocumentInfoDictionary Class
===============================================================================

Namespace: :ref:`id3.Document<reference_document>`

.. toctree::
  :hidden:

  add<add>
  clear<clear>
  clone<clone>
  containsKey<contains_key>
  count<count>
  get<get>
  getCount<get_count>
  keys<keys>
  remove<remove>
  set<set>


Definition
----------
.. line-block::
    Represents a dictionary of document information.

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        class DocumentInfoDictionary

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        class DocumentInfoDictionary implements Finalizable

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        public partial class DocumentInfoDictionary

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        public class DocumentInfoDictionary implements AutoCloseable, Serializable

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        public class DocumentInfoDictionary

    .. tab-item:: C
      :sync: C

      .. code:: C

        typedef struct id3DocumentInfoDictionary *ID3_DOCUMENT_INFO_DICTIONARY;



Usage
-----

.. tab-set::

    .. tab-item:: Python
      :sync: Python

      .. code:: Python

        documentInfoDictionaryInstance = DocumentInfoDictionary()
        # ...

      **Explicit destruction**

      .. code:: Python

        # ...
        del documentInfoDictionaryInstance

    .. tab-item:: Dart
      :sync: Dart

      .. code:: Dart

        final documentInfoDictionaryInstance = sdk.DocumentInfoDictionary();
        // ...

      **Explicit destruction**

      .. code:: Dart

        // ...
        documentInfoDictionaryInstance.dispose()

    .. tab-item:: C#
      :sync: C#

      .. code:: C#

        using (var documentInfoDictionaryInstance = new DocumentInfoDictionary())
        {
           // ...
        }

      **Explicit destruction**

      .. code:: C#

        var documentInfoDictionaryInstance = new DocumentInfoDictionary()
        // ...
        documentInfoDictionaryInstance.Dispose()

    .. tab-item:: Java
      :sync: Java

      .. code:: Java

        try (DocumentInfoDictionary documentInfoDictionaryInstance = new DocumentInfoDictionary()) {
        // ...
        }

      **Explicit destruction**

      .. code:: Java

        DocumentInfoDictionary documentInfoDictionaryInstance = new DocumentInfoDictionary();
        // ...
        documentInfoDictionaryInstance.close();

    .. tab-item:: Swift
      :sync: Swift

      .. code:: Swift

        private var documentInfoDictionaryInstance: DocumentInfoDictionary? = nil
        documentInfoDictionaryInstance = try DocumentInfoDictionary()

    .. tab-item:: C
      :sync: C

      .. code:: C

        ID3_DOCUMENT_INFO_DICTIONARY hDocumentInfoDictionary{};
        int err = id3DocumentInfoDictionary_Initialize(&hDocumentInfoDictionary);
        if (err == ID3_SUCCESS) {
            // ...
            id3DocumentInfoDictionary_Dispose(&hDocumentInfoDictionary);
        }


Properties
----------

.. list-table:: 
  :width: 100%
  :widths: 30 5 65
  :header-rows: 1

  * - Name
    - Type
    - Description
  * - :ref:`count<id3_document_document_info_dictionary_count_class_member>`
    - int
    - Gets the number of elements contained in the dict
  * - :ref:`keys<id3_document_document_info_dictionary_keys_class_member>`
    - :ref:`StringList<id3_document_string_list_class>`
    - Gets a string list containing the keys in the dict.
  * - operator [string key]
    - :ref:`DocumentInfo<id3_document_document_info_class>`
    - Gets or sets the element for the key in the dict.

Iteration
---------

This class supports iteration in Dart, C#, Java and Python.

The iteration is done on keys


Methods
-------

.. list-table:: 
  :width: 100%
  :widths: 30 70
  :header-rows: 1

  * - Name
    - Description
  * - :ref:`add<id3_document_document_info_dictionary_add_class_method>`
    - Adds an item to the DocumentInfoDictionary object.
  * - :ref:`clear<id3_document_document_info_dictionary_clear_class_method>`
    - Clears the DocumentInfoDictionary object.
  * - :ref:`clone<id3_document_document_info_dictionary_clone_class_method>`
    - Clones the DocumentInfoDictionary object.
  * - :ref:`containsKey<id3_document_document_info_dictionary_contains_key_class_method>`
    - Determines whether the DocumentInfoDictionaryobject contains the specified key.
  * - :ref:`get<id3_document_document_info_dictionary_get_class_method>`
    - Gets an item of the DocumentInfoDictionary object.
  * - :ref:`getCount<id3_document_document_info_dictionary_get_count_class_method>`
    - Gets the number of elements in the DocumentInfoDictionary object.
  * - :ref:`remove<id3_document_document_info_dictionary_remove_class_method>`
    - Removes an element of the DocumentInfoDictionary object.
  * - :ref:`set<id3_document_document_info_dictionary_set_class_method>`
    - Sets an item of the DocumentInfoDictionary object.
