You are here

abstract class ScalarPluginBase in GraphQL 8.3

Hierarchy

Expanded class hierarchy of ScalarPluginBase

18 files declare their use of ScalarPluginBase
Any.php in modules/graphql_core/src/Plugin/GraphQL/Scalars/TypedData/Any.php
BooleanScalar.php in src/Plugin/GraphQL/Scalars/Internal/BooleanScalar.php
DateScalar.php in src/Plugin/GraphQL/Scalars/Internal/DateScalar.php
DateTimeIso8601.php in modules/graphql_core/src/Plugin/GraphQL/Scalars/TypedData/DateTimeIso8601.php
DateTimeScalar.php in src/Plugin/GraphQL/Scalars/Internal/DateTimeScalar.php

... See full list

1 string reference to 'ScalarPluginBase'
graphql.services.yml in ./graphql.services.yml
graphql.services.yml

File

src/Plugin/GraphQL/Scalars/ScalarPluginBase.php, line 13

Namespace

Drupal\graphql\Plugin\GraphQL\Scalars
View source
abstract class ScalarPluginBase extends PluginBase implements TypePluginInterface {
  use CacheablePluginTrait;
  use DescribablePluginTrait;

  /**
   * {@inheritdoc}
   */
  public static function createInstance(SchemaBuilderInterface $builder, TypePluginManager $manager, $definition, $id) {
    $callable = [
      'GraphQL\\Type\\Definition\\Type',
      strtolower($definition['name']),
    ];
    if (is_callable($callable)) {
      return $callable();
    }
    $class = get_called_class();
    return new CustomScalarType([
      'name' => $definition['name'],
      'description' => $definition['description'],
      'contexts' => $definition['contexts'],
      'serialize' => [
        $class,
        'serialize',
      ],
      'parseValue' => [
        $class,
        'parseValue',
      ],
      'parseLiteral' => [
        $class,
        'parseLiteral',
      ],
    ]);
  }

  /**
   * {@inheritdoc}
   */
  public function getDefinition() {
    $definition = $this
      ->getPluginDefinition();
    return [
      'name' => $definition['name'],
      'description' => $this
        ->buildDescription($definition),
      'contexts' => $this
        ->buildCacheContexts($definition),
    ];
  }

  /**
   * Serializes the scalar value.
   *
   * @param mixed $value
   *   The value to serialize.
   */
  public static function serialize($value) {
    throw new \LogicException('Missing method.');
  }

  /**
   * Parses a value.
   *
   * @param mixed $value
   *   The value to parse.
   *
   * @return mixed
   *   The parsed value.
   */
  public static function parseValue($value) {
    throw new \LogicException('Missing method.');
  }

  /**
   * Parses a node.
   *
   * @param mixed $node
   *   The node to parse.
   *
   * @return mixed
   *   The parsed node.
   */
  public static function parseLiteral($node) {
    throw new \LogicException('Missing method.');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CacheablePluginTrait::buildCacheContexts protected function
DescribablePluginTrait::buildDescription protected function
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
ScalarPluginBase::createInstance public static function Overrides TypePluginInterface::createInstance 6
ScalarPluginBase::getDefinition public function Returns the plugin's type or field definition for the schema. Overrides TypePluginInterface::getDefinition
ScalarPluginBase::parseLiteral public static function Parses a node. 3
ScalarPluginBase::parseValue public static function Parses a value. 3
ScalarPluginBase::serialize public static function Serializes the scalar value. 3