89 lines
2.4 KiB
PHP
89 lines
2.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Drupal\devel_generate;
|
||
|
|
|
||
|
|
use Drupal\Component\Plugin\PluginInspectionInterface;
|
||
|
|
use Drupal\Core\Form\FormStateInterface;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Base interface definition for "DevelGenerate" plugins.
|
||
|
|
*
|
||
|
|
* This interface details base wrapping methods that most DevelGenerate
|
||
|
|
* implementations will want to directly inherit from
|
||
|
|
* Drupal\devel_generate\DevelGenerateBase.
|
||
|
|
*
|
||
|
|
* DevelGenerate implementation plugins should have their own settingsForm() and
|
||
|
|
* generateElements() to achieve their own behaviour.
|
||
|
|
*/
|
||
|
|
interface DevelGenerateBaseInterface extends PluginInspectionInterface {
|
||
|
|
|
||
|
|
public function __construct(array $configuration, $plugin_id, $plugin_definition);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the array of settings, including defaults for missing settings.
|
||
|
|
*
|
||
|
|
* @param string $key
|
||
|
|
* The setting name.
|
||
|
|
*
|
||
|
|
* @return array|int|string|bool|null
|
||
|
|
* The setting.
|
||
|
|
*/
|
||
|
|
public function getSetting(string $key);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the default settings for the plugin.
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
* The array of default setting values, keyed by setting names.
|
||
|
|
*/
|
||
|
|
public function getDefaultSettings(): array;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the current settings for the plugin.
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
* The array of current setting values, keyed by setting names.
|
||
|
|
*/
|
||
|
|
public function getSettings(): array;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns the form for the plugin.
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
* The array of default setting values, keyed by setting names.
|
||
|
|
*/
|
||
|
|
public function settingsForm(array $form, FormStateInterface $form_state): array;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Form validation handler.
|
||
|
|
*
|
||
|
|
* @param array $form
|
||
|
|
* An associative array containing the structure of the form.
|
||
|
|
* @param \Drupal\Core\Form\FormStateInterface $form_state
|
||
|
|
* The current state of the form.
|
||
|
|
*/
|
||
|
|
public function settingsFormValidate(array $form, FormStateInterface $form_state): void;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Execute the instructions in common for all DevelGenerate plugin.
|
||
|
|
*
|
||
|
|
* @param array $values
|
||
|
|
* The input values from the settings form.
|
||
|
|
*/
|
||
|
|
public function generate(array $values): void;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Responsible for validating Drush params.
|
||
|
|
*
|
||
|
|
* @param array $args
|
||
|
|
* The command arguments.
|
||
|
|
* @param array $options
|
||
|
|
* The commend options.
|
||
|
|
*
|
||
|
|
* @return array
|
||
|
|
* An array of values ready to be used for generateElements().
|
||
|
|
*/
|
||
|
|
public function validateDrushParams(array $args, array $options = []): array;
|
||
|
|
|
||
|
|
}
|