.. index:: single: entity_diagram(Format)
.. _entity_diagram/1:

.. rst-class:: right

**object**

``entity_diagram(Format)``
==========================

* ``Format`` - Graph language file format.


Predicates for generating entity diagrams in the specified format with both inheritance and cross-referencing relation edges.

| **Availability:** 
|    ``logtalk_load(diagrams(loader))``

| **Author:** Paulo Moura
| **Version:** 2:63:0
| **Date:** 2026-03-14

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Imports:**
|    ``public`` :ref:`diagram(Format) <diagram/1>`
| **Uses:**
|    :ref:`coupling_metric <coupling_metric/0>`
|    :ref:`list <list/0>`
|    :ref:`logtalk <logtalk/0>`
|    :ref:`modules_diagram_support <modules_diagram_support/0>`
|    :ref:`user <user/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`diagram/1::all_files/0`  :ref:`diagram/1::all_files/1`  :ref:`diagram/1::all_libraries/0`  :ref:`diagram/1::all_libraries/1`  :ref:`options_protocol/0::check_option/1`  :ref:`options_protocol/0::check_options/1`  :ref:`options_protocol/0::default_option/1`  :ref:`options_protocol/0::default_options/1`  :ref:`diagram/1::diagram_description/1`  :ref:`diagram/1::diagram_name_suffix/1`  :ref:`diagram/1::directories/2`  :ref:`diagram/1::directories/3`  :ref:`diagram/1::directory/1`  :ref:`diagram/1::directory/2`  :ref:`diagram/1::directory/3`  :ref:`diagram/1::files/1`  :ref:`diagram/1::files/2`  :ref:`diagram/1::files/3`  :ref:`diagram/1::format_object/1`  :ref:`diagram/1::libraries/1`  :ref:`diagram/1::libraries/2`  :ref:`diagram/1::libraries/3`  :ref:`diagram/1::library/1`  :ref:`diagram/1::library/2`  :ref:`options_protocol/0::option/2`  :ref:`options_protocol/0::option/3`  :ref:`diagram/1::rdirectory/1`  :ref:`diagram/1::rdirectory/2`  :ref:`diagram/1::rdirectory/3`  :ref:`diagram/1::rlibrary/1`  :ref:`diagram/1::rlibrary/2`  :ref:`options_protocol/0::valid_option/1`  :ref:`options_protocol/0::valid_options/1`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

.. index:: file/2
.. _entity_diagram/1::file/2:

``file/2``
^^^^^^^^^^

Creates a diagram for all entities in a loaded source file using the specified options. The file can be specified by name, basename, full path, or using library notation.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``file(File,Options)``
| **Mode and number of proofs:**
|    ``file(+atom,+list(compound))`` - ``one``


------------

.. index:: file/1
.. _entity_diagram/1::file/1:

``file/1``
^^^^^^^^^^

Creates a diagram for all entities in a loaded source file using default options. The file can be specified by name, basename, full path, or using library notation.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``file(File)``
| **Mode and number of proofs:**
|    ``file(+atom)`` - ``one``


------------

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

.. index:: included_entity_/1
.. _entity_diagram/1::included_entity_/1:

``included_entity_/1``
^^^^^^^^^^^^^^^^^^^^^^

Table of Logtalk entities already included in the diagram.

| **Compilation flags:**
|    ``dynamic``

| **Template:**
|    ``included_entity_(Entity)``
| **Mode and number of proofs:**
|    ``included_entity_(?entity_identifier)`` - ``zero_or_more``


------------

.. index:: included_module_/1
.. _entity_diagram/1::included_module_/1:

``included_module_/1``
^^^^^^^^^^^^^^^^^^^^^^

Table of Prolog modules already included in the diagram.

| **Compilation flags:**
|    ``dynamic``

| **Template:**
|    ``included_module_(Module)``
| **Mode and number of proofs:**
|    ``included_module_(?module_identifier)`` - ``zero_or_more``


------------

.. index:: referenced_entity_/2
.. _entity_diagram/1::referenced_entity_/2:

``referenced_entity_/2``
^^^^^^^^^^^^^^^^^^^^^^^^

Table of referenced Logtalk entities in the diagram.

| **Compilation flags:**
|    ``dynamic``

| **Template:**
|    ``referenced_entity_(Referencer,Entity)``
| **Mode and number of proofs:**
|    ``referenced_entity_(?entity_identifier,?entity_identifier)`` - ``zero_or_more``


------------

.. index:: referenced_module_/2
.. _entity_diagram/1::referenced_module_/2:

``referenced_module_/2``
^^^^^^^^^^^^^^^^^^^^^^^^

Table of referenced Logtalk entities in the diagram.

| **Compilation flags:**
|    ``dynamic``

| **Template:**
|    ``referenced_module_(Referencer,Entity)``
| **Mode and number of proofs:**
|    ``referenced_module_(?entity_identifier,?module_identifier)`` - ``zero_or_more``


------------

Operators
---------

(none)

.. seealso::

   :ref:`inheritance_diagram(Format) <inheritance_diagram/1>`, :ref:`uses_diagram(Format) <uses_diagram/1>`, :ref:`caller_diagram(Format) <caller_diagram/1>`, :ref:`xref_diagram(Format) <xref_diagram/1>`, :ref:`library_diagram(Format) <library_diagram/1>`

