aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php')
-rw-r--r--srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php48
1 files changed, 48 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php b/srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php
new file mode 100644
index 0000000..b80d62c
--- /dev/null
+++ b/srcs/phpmyadmin/libraries/classes/Properties/PropertyItem.php
@@ -0,0 +1,48 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ * The top-level class of the object-oriented properties system.
+ *
+ * @package PhpMyAdmin
+ */
+declare(strict_types=1);
+
+namespace PhpMyAdmin\Properties;
+
+/**
+ * Provides an interface for Property classes
+ *
+ * @package PhpMyAdmin
+ */
+abstract class PropertyItem
+{
+ /**
+ * Returns the property type ( either "Options", or "Plugin" ).
+ *
+ * @return string
+ */
+ abstract public function getPropertyType();
+
+ /**
+ * Returns the property item type of either an instance of
+ * - PhpMyAdmin\Properties\Options\OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
+ * - PhpMyAdmin\Properties\Options\OptionsPropertyGroup ( "root", "main" or "subgroup" )
+ * - PhpMyAdmin\Properties\Plugins\PluginPropertyItem ( "export", "import", "transformations" )
+ *
+ * @return string
+ */
+ abstract public function getItemType();
+
+ /**
+ * Only overwritten in the PhpMyAdmin\Properties\Options\OptionsPropertyGroup class:
+ * Used to tell whether we can use the current item as a group by calling
+ * the addProperty() or removeProperty() methods, which are not available
+ * for simple PhpMyAdmin\Properties\Options\OptionsPropertyOneItem subclasses.
+ *
+ * @return null
+ */
+ public function getGroup()
+ {
+ return null;
+ }
+}