.. ******************************************************************************* * 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