You are here

class Flexiform in Flexiform 7

The class used for flexiform entities

Hierarchy

Expanded class hierarchy of Flexiform

6 string references to 'Flexiform'
FlexiformElementFlexiform::type in includes/element/flexiform.element.inc
Return the type.
flexiform_entity_info in ./flexiform.module
Implement hook_entity_info().
flexiform_flexiform_element_info in ./flexiform.flexiform.inc
Implements hook_flexiform_element_info().
flexiform_rules_event_info in ./flexiform.rules.inc
Implements hook_rules_event_info().
flexiform_views_data_alter in includes/views/flexiform.views.inc
Implements hook_views_data_alter().

... See full list

File

./flexiform.entity.inc, line 11
flexiform.entity.inc

View source
class Flexiform extends Entity {
  public $form;
  public $label;
  public $elements = array();
  public $entities = array();
  public $displays = array();
  public $settings = array();
  public $access = array();
  protected $access_controllers = array();
  public function __construct($values = array()) {
    parent::__construct($values, 'flexiform');
  }
  public function getBuilder($base_entity = NULL) {
    $builder = flexiform_builder_info($this->builder);
    $class_name = $builder['class'];
    if (!class_exists($class_name)) {
      throw new Exception('Builder class does not exist!');
    }
    return new $class_name($this, $base_entity);
  }

  /**
   * Get hold of a particular display.
   *
   * @param string $display
   *   The display we want to get.
   *
   * @return FlexiformDisplayInterface
   *   The flexiform display class if it exists, FlexiformDisplayNull if not.
   *
   * @throws Exception
   */
  public function getDisplay($display) {
    if (empty($this->displays[$display])) {
      return new FlexiformDisplayNull($this);
    }
    $display_info = flexiform_display_info($display);
    if (empty($display_info)) {
      drupal_set_message(t('Display plugin @plugin not found.', array(
        '@plugin' => $display,
      )), 'error');
      return new FlexiformDisplayNull($this, $this->displays[$display]);
    }
    $class_name = $display_info['class'];
    if (!class_exists($class_name)) {
      throw new Exception('Display class does not exist.');
    }
    return new $class_name($this, $this->displays[$display]);
  }
  public function createDisplay($display) {
    $display_info = flexiform_display_info($display);
    if (empty($display_info)) {
      drupal_set_message(t('Display plugin @plugin not found.', array(
        '@plugin' => $display,
      )), 'error');
      return new FlexiformDisplayNull($this, $this->displays[$display]);
    }
    $class_name = $display_info['class'];
    if (!class_exists($class_name)) {
      throw new Exception(t('Display class @class does not exist.', array(
        '@class' => $class_name,
      )));
    }
    return new $class_name($this);
  }
  public function addElement($element) {
    $this->elements[$element
      ->getElementNamespace()] = $element
      ->toSettingsArray();
  }
  public function removeElement($element) {
    unset($this->elements[$element
      ->getElementNamespace()]);
  }
  public function updateElement($element) {
    $this->elements[$element
      ->getElementNamespace()] = $element
      ->toSettingsArray();
  }

  /**
   * Get the access controller for a given display.
   */
  public function getAccessController($display = '') {
    if (empty($this->access_controllers[$display])) {
      $this->access_controllers[$display] = new FlexiformAccess($this, $display);
    }
    return $this->access_controllers[$display];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
Entity::defaultUri protected function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info().
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::save public function Permanently saves the entity. Overrides EntityInterface::save
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
Flexiform::$access public property
Flexiform::$access_controllers protected property
Flexiform::$displays public property
Flexiform::$elements public property
Flexiform::$entities public property
Flexiform::$form public property
Flexiform::$label public property
Flexiform::$settings public property
Flexiform::addElement public function
Flexiform::createDisplay public function
Flexiform::getAccessController public function Get the access controller for a given display.
Flexiform::getBuilder public function
Flexiform::getDisplay public function Get hold of a particular display.
Flexiform::removeElement public function
Flexiform::updateElement public function
Flexiform::__construct public function Overrides Entity::__construct