PropertyItem.class.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * The top-level class of the object-oriented properties system.
  5. *
  6. * @package PhpMyAdmin
  7. */
  8. if (! defined('PHPMYADMIN')) {
  9. exit;
  10. }
  11. /**
  12. * Provides an interface for Property classes
  13. *
  14. * @package PhpMyAdmin
  15. */
  16. abstract class PropertyItem
  17. {
  18. /**
  19. * Returns the property type ( either "Options", or "Plugin" ).
  20. *
  21. * @return string
  22. */
  23. public abstract function getPropertyType();
  24. /**
  25. * Returns the property item type of either an instance of
  26. * - OptionsPropertyOneItem ( f.e. "bool", "text", "radio", etc ) or
  27. * - OptionsPropertyGroup ( "root", "main" or "subgroup" )
  28. * - PluginPropertyItem ( "export", "import", "transformations" )
  29. *
  30. * @return string
  31. */
  32. public abstract function getItemType();
  33. /**
  34. * Only overwritten in the OptionsPropertyGroup class:
  35. * Used to tell whether we can use the current item as a group by calling
  36. * the addProperty() or removeProperty() methods, which are not available
  37. * for simple OptionsPropertyOneItem subclasses.
  38. *
  39. * @return string
  40. */
  41. public function getGroup()
  42. {
  43. return null;
  44. }
  45. }
  46. ?>