You are here

abstract class ValueComparisonSensorPluginBase in Monitoring 8

Provides abstract functionality for a value comparison sensor.

Uses "value" offset to store the expected value against which the actual value will be compared to. You can prepopulate this offset with initial value that will be used as the expected one on the sensor enable.

Hierarchy

Expanded class hierarchy of ValueComparisonSensorPluginBase

2 files declare their use of ValueComparisonSensorPluginBase
ConfigValueSensorPlugin.php in src/Plugin/monitoring/SensorPlugin/ConfigValueSensorPlugin.php
Contains \Drupal\monitoring\Plugin\monitoring\SensorPlugin\ConfigValueSensorPlugin
StateValueSensorPlugin.php in src/Plugin/monitoring/SensorPlugin/StateValueSensorPlugin.php
Contains \Drupal\monitoring\Plugin\monitoring\SensorPlugin\StateValueSensorPlugin

File

src/SensorPlugin/ValueComparisonSensorPluginBase.php, line 20
Contains \Drupal\monitoring\SensorPlugin\ValueComparisonSensorPluginBase

Namespace

Drupal\monitoring\SensorPlugin
View source
abstract class ValueComparisonSensorPluginBase extends SensorPluginBase {

  /**
   * Gets the value description that will be shown in the settings form.
   *
   * @return string
   *   Value description.
   */
  protected abstract function getValueDescription();

  /**
   * Gets the current value.
   *
   * @return mixed
   *   The current value.
   */
  protected abstract function getValue();

  /**
   * Gets the current value as text.
   *
   * @return string
   *   The expected value.
   */
  protected function getValueText() {
    if ($this->sensorConfig
      ->isBool()) {
      $actual_value = $this
        ->getValue() ? 'TRUE' : 'FALSE';
    }
    else {
      $actual_value = $this
        ->getValue();
    }
    return $actual_value;
  }

  /**
   * Gets the expected value.
   *
   * @return mixed
   *   The expected value.
   */
  protected function getExpectedValue() {
    return $this->sensorConfig
      ->getSetting('value');
  }

  /**
   * Adds expected value setting field into the sensor settings form.
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildConfigurationForm($form, $form_state);
    $form['value'] = array(
      '#title' => t('Expected value'),
      '#description' => $this
        ->getValueDescription(),
      '#default_value' => $this
        ->getExpectedValue(),
    );
    if ($this->sensorConfig
      ->isBool()) {
      $form['value']['#type'] = 'checkbox';
    }
    elseif ($this->sensorConfig
      ->isNumeric()) {
      $form['value']['#type'] = 'number';
    }
    else {
      $form['value']['#type'] = 'textfield';
    }
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function runSensor(SensorResultInterface $result) {
    $result
      ->setValue($this
      ->getValue());
    $result
      ->setExpectedValue($this
      ->getExpectedValue());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
SensorPluginBase::$configurableValueType protected property Allows plugins to control if the value type can be configured. 6
SensorPluginBase::$pluginDefinition protected property The plugin implementation definition.
SensorPluginBase::$pluginId protected property The plugin_id.
SensorPluginBase::$sensorConfig protected property Current sensor config object.
SensorPluginBase::$services protected property
SensorPluginBase::addService public function Service setter. Overrides SensorPluginInterface::addService
SensorPluginBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides SensorPluginInterface::calculateDependencies 4
SensorPluginBase::create public static function Creates an instance of the sensor with config. Overrides SensorPluginInterface::create 7
SensorPluginBase::getConfigurableValueType public function Configurable value type. Overrides SensorPluginInterface::getConfigurableValueType
SensorPluginBase::getDefaultConfiguration public function Default configuration for a sensor. Overrides SensorPluginInterface::getDefaultConfiguration 8
SensorPluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
SensorPluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
SensorPluginBase::getSensorId public function Gets sensor name (not the label). Overrides SensorPluginInterface::getSensorId
SensorPluginBase::getService public function @todo: Replace with injection Overrides SensorPluginInterface::getService
SensorPluginBase::isEnabled public function Determines if sensor is enabled. Overrides SensorPluginInterface::isEnabled
SensorPluginBase::submitConfigurationForm public function Form submission handler. Overrides PluginFormInterface::submitConfigurationForm 3
SensorPluginBase::validateConfigurationForm public function Form validation handler. Overrides PluginFormInterface::validateConfigurationForm 2
SensorPluginBase::__construct function Instantiates a sensor object. 8
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
ValueComparisonSensorPluginBase::buildConfigurationForm public function Adds expected value setting field into the sensor settings form. Overrides SensorPluginBase::buildConfigurationForm 1
ValueComparisonSensorPluginBase::getExpectedValue protected function Gets the expected value.
ValueComparisonSensorPluginBase::getValue abstract protected function Gets the current value. 2
ValueComparisonSensorPluginBase::getValueDescription abstract protected function Gets the value description that will be shown in the settings form. 2
ValueComparisonSensorPluginBase::getValueText protected function Gets the current value as text.
ValueComparisonSensorPluginBase::runSensor public function Runs the sensor, updating $sensor_result. Overrides SensorPluginInterface::runSensor