From 9ef41a37b88e1833e1c86e81527e399068439765 Mon Sep 17 00:00:00 2001 From: Romain Quetiez Date: Mon, 3 Jun 2013 13:49:51 +0000 Subject: [PATCH] OQL normalization and dashlets have been made independent from the class MetaModel (2 of 2!) SVN:trunk[2768] --- core/modelreflection.class.inc.php | 120 +++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 core/modelreflection.class.inc.php diff --git a/core/modelreflection.class.inc.php b/core/modelreflection.class.inc.php new file mode 100644 index 000000000..cdcd1efd5 --- /dev/null +++ b/core/modelreflection.class.inc.php @@ -0,0 +1,120 @@ + + + +/** + * Reflection API for the MetaModel (partial) + * + * @copyright Copyright (C) 2013 Combodo SARL + * @license http://opensource.org/licenses/AGPL-3.0 + */ + +interface ModelReflection +{ + public function GetClassIcon($sClass, $bImgTag = true); + public function IsValidAttCode($sClass, $sAttCode); + public function GetName($sClass); + public function GetLabel($sClass, $sAttCodeEx); + public function ListAttributeDefs($sClass); + public function GetAllowedValues_att($sClass, $sAttCode); + public function HasChildrenClasses($sClass); + public function GetClasses($sCategories = ''); + public function IsValidClass($sClass); + public function GetExternalKeys($sClass); + public function GetAttributeDef($sClass, $sAttCode); + public function IsSameFamilyBranch($sClassA, $sClassB); + public function GetFiltersList($sClass); + public function IsValidFilterCode($sClass, $sFilterCode); +} + +class ModelReflectionRuntime implements ModelReflection +{ + public function __construct() + { + } + + public function GetClassIcon($sClass, $bImgTag = true) + { + return MetaModel::GetClassIcon($sClass, $bImgTag); + } + + public function IsValidAttCode($sClass, $sAttCode) + { + return MetaModel::IsValidAttCode($sClass, $sAttCode); + } + + public function GetName($sClass) + { + return MetaModel::GetName($sClass); + } + + public function GetLabel($sClass, $sAttCodeEx) + { + return MetaModel::GetLabel($sClass, $sAttCodeEx); + } + + public function ListAttributeDefs($sClass) + { + return MetaModel::ListAttributeDefs($sClass); + } + + public function GetAllowedValues_att($sClass, $sAttCode) + { + return MetaModel::GetAllowedValues_att($sClass, $sAttCode); + } + + public function HasChildrenClasses($sClass) + { + return MetaModel::HasChildrenClasses($sClass); + } + + public function GetClasses($sCategories = '') + { + return MetaModel::GetClasses($sCategories); + } + + public function IsValidClass($sClass) + { + return MetaModel::IsValidClass($sClass); + } + + public function GetExternalKeys($sClass) + { + return MetaModel::GetExternalKeys($sClass); + } + + public function GetAttributeDef($sClass, $sAttCode) + { + return MetaModel::GetAttributeDef($sClass, $sAttCode); + } + + public function IsSameFamilyBranch($sClassA, $sClassB) + { + return MetaModel::IsSameFamilyBranch($sClassA, $sClassB); + } + + public function GetFiltersList($sClass) + { + return MetaModel::GetFiltersList($sClass); + } + + public function IsValidFilterCode($sClass, $sFilterCode) + { + return MetaModel::IsValidFilterCode($sClass, $sFilterCode); + } +} \ No newline at end of file