.. *******************************************************************************
* MetaFactory.io R2
* Technical Documentation
*
* File name : MapiRef_ModelPackage.rst
* Created by : Marnix Bochove (original text)
* Last update : 25-03-2021
* Updated by : Niels de Nies
*
* MetaFactory BV Amsterdam
*******************************************************************************
.. include:: /inline-images.txt
.. include:: /external-links.txt
Model API Model Package
=======================
A model can have multiple packages and are thus a way of grouping generated objects.
If you use only one package then you will not need this API.
All mentioned functions are available on the ModelPackage object which is made available
in Freemarker/Velocity by iterating over the element tree in model.xml.
In any step of the operation process you can access ModelPackage, which is always the currently active package.
For an image see :ref:`API_hierarchy`
.. note::
|Eye M| Getter functions in Freemarker/Velocity can be accessed as an object property, so modelPackage.getName()
can be written as **modelPackage.name**.
As a reference the following model.xml is used to explain the model package api.
.. code-block:: xml
BookStore
Overview
--------
.. list-table:: **API of 'Model Package'**
:widths: 20 80
:header-rows: 1
:class: tight-table
* - Modifier and Type
- Method and Description
* - void
- :ref:`deleteFromObjects(ModelObject objects) `
* - List
- :ref:`findMetaDataByKey(String expression) `
* - ModelObject
- :ref:`findObjectByMetaData(String key) `
* - ModelObject
- :ref:`findObjectByMetaData(String key, String value) `
* - ModelObject
- :ref:`findObjectByName(String objectName) `
* - List
- :ref:`findObjectsByMetaData(String key) `
* - List
- :ref:`findObjectsByMetaData(String key, String value) `
* - RelationDecorator
- :ref:`getChilderen() `
* - String
- :ref:`getFileComment() `
* - String
- :ref:`getKind() `
* - List
- :ref:`getMetaData() `
* - String
- :ref:`getMetaData(String metaDataKey) `
* - String
- :ref:`getMetaData(String metaDataKey, boolean throwExceptionIfNotFound) `
* - String
- :ref:`getMetaData(String metaDataKey, String defaultValue) `
* - String
- :ref:`getName() `
* - List
- :ref:`getObjects() `
* - List
- :ref:`getParent() `
* - ModelRoot
- :ref:`getRoot() `
* - String
- :ref:`getText() `
* - boolean
- :ref:`hasMetaData(String key) `
* - boolean
- :ref:`hasMetaData(String key, String value) `
Details
-------
deleteFromObjects(ModelObject objects)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
void deleteFromObjects(ModelObject objects)
.. rubric:: Description
Deletes a single ModelObjects from the list of ModelObject children that this ModelPackage contains.
.. rubric:: Example
none
.. include:: include/findMetaDataByKey1.txt
findObjectByMetaData(String key)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
ModelObject findObjectByMetaData(String key)
.. rubric:: Description
Returns a single ModelObject child by Metadata property.
.. rubric:: Example
none
findObjectByMetaData(String key, String value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
ModelObject findObjectByMetaData(String key, String value)
.. rubric:: Description
Returns a single ModelObject child by Metadata property and the value that this property must have.
.. rubric:: Example
none
findObjectByName(String objectName)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
ModelObject findObjectByName(String objectName)
.. rubric:: Description
Returns a ModelObject child by name.
.. rubric:: Example
none
findObjectsByMetaData(String key)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
List findObjectsByMetaData(String key)
.. rubric:: Description
Returns a list of ModelObject children by Metadata property.
.. rubric:: Example
none
findObjectsByMetaData(String key, String value)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: java
List findObjectsByMetaData(String key, String value)
.. rubric:: Description
Returns a list of ModelObject children by Metadata property and the value that this property must have.
.. rubric:: Example
none
.. include:: include/getChilderen.txt
.. include:: include/getFileComment.txt
.. include:: include/getKind.txt
.. include:: include/getMetaData.txt
.. include:: include/getMetaData1.txt
.. include:: include/getMetaData1a.txt
.. include:: include/getMetaData2.txt
.. include:: include/getName.txt
getObjects()
~~~~~~~~~~~~
.. code-block:: java
List getObjects()
.. rubric:: Description
Returns the list of ModelObject children that this ModelPackage contains.
.. rubric:: Example
none
.. include:: include/getParent.txt
getRoot()
~~~~~~~~~
.. code-block:: java
ModelRoot getRoot()
.. rubric:: Description
Returns the ModelRoot parent of ModelPackage.
.. rubric:: Example
none
.. include:: include/getText.txt
.. include:: include/hasMetaData1.txt
.. include:: include/hasMetaData2.txt