@@ 15-46 (lines=32) @@ | ||
12 | /** |
|
13 | * Base class for enum plugins. |
|
14 | */ |
|
15 | abstract class EnumPluginBase extends PluginBase implements TypeSystemPluginInterface { |
|
16 | use NamedPluginTrait; |
|
17 | use CacheablePluginTrait; |
|
18 | ||
19 | /** |
|
20 | * The type instance. |
|
21 | * |
|
22 | * @var \Drupal\graphql\GraphQL\Type\EnumType |
|
23 | */ |
|
24 | protected $definition; |
|
25 | ||
26 | /** |
|
27 | * {@inheritdoc} |
|
28 | */ |
|
29 | public function getDefinition(PluggableSchemaBuilderInterface $schemaBuilder) { |
|
30 | if (!isset($this->definition)) { |
|
31 | $this->definition = new EnumType($this, [ |
|
32 | 'name' => $this->buildName(), |
|
33 | 'description' => $this->buildDescription(), |
|
34 | 'values' => $this->buildValues($schemaBuilder), |
|
35 | ]); |
|
36 | } |
|
37 | ||
38 | return $this->definition; |
|
39 | } |
|
40 | ||
41 | /** |
|
42 | * {@inheritdoc} |
|
43 | */ |
|
44 | abstract public function buildValues(PluggableSchemaBuilderInterface $schemaManager); |
|
45 | ||
46 | } |
|
47 |
@@ 16-44 (lines=29) @@ | ||
13 | /** |
|
14 | * Base class for GraphQL interface plugins. |
|
15 | */ |
|
16 | abstract class InterfacePluginBase extends PluginBase implements TypeSystemPluginInterface { |
|
17 | use CacheablePluginTrait; |
|
18 | use NamedPluginTrait; |
|
19 | use FieldablePluginTrait; |
|
20 | ||
21 | /** |
|
22 | * The type instance. |
|
23 | * |
|
24 | * @var \Drupal\graphql\GraphQL\Type\InterfaceType |
|
25 | */ |
|
26 | protected $definition; |
|
27 | ||
28 | /** |
|
29 | * {@inheritdoc} |
|
30 | */ |
|
31 | public function getDefinition(PluggableSchemaBuilderInterface $schemaBuilder) { |
|
32 | if (!isset($this->definition)) { |
|
33 | $this->definition = new InterfaceType($this, [ |
|
34 | 'name' => $this->buildName(), |
|
35 | 'description' => $this->buildDescription(), |
|
36 | ]); |
|
37 | ||
38 | $this->definition->addFields($this->buildFields($schemaBuilder)); |
|
39 | } |
|
40 | ||
41 | return $this->definition; |
|
42 | } |
|
43 | ||
44 | } |
|
45 |