SilverStripe\GraphQL\Scaffolding\Scaffolders\DataObjectScaffolder
Scaffolds a DataObjectTypeCreator.
Synopsis
class DataObjectScaffolder
implements
ManagerMutatorInterface,ScaffolderInterface,ConfigurationApplier
{
- // members
- private static array $default_fields = ;
- protected ArrayList $fields;
- protected OperationList $operations;
- protected OperationList $nestedQueries = ;
- // methods
- public void __construct()
- public string getTypeName()
- public $this addFields()
- public $this addField()
- public $this addAllFields()
- public $this addAllFieldsExcept()
- public $this removeField()
- public $this removeFields()
- public ArrayList getFields()
- public OperationList getOperations()
- public OperationList getNestedQueries()
- public $this setFieldDescription()
- public string getFieldDescription()
- public $this removeOperation()
- public $this addAllOperations()
- public OperationScaffolder operation()
- public OperationScaffolder|ListQueryScaffolder nestedQuery()
- public array getDependentClasses()
- public array getAncestralClasses()
- public DataObjectScaffolder cloneTo()
- public $this applyConfig()
- public ObjectType scaffold()
- public void addToManager()
- protected array allFieldsFromDataObject()
- protected array nestedDataObjectClasses()
- protected array nestedConnections()
- protected array createFields()
- // Inherited methods from DataObjectTypeTrait
- public string getDataObjectClass()
- protected string typeName()
- public DataObject getDataObjectInstance()
- public $this setDataObjectClass()
- // Inherited methods from Chainable
- public $this setChainableParent()
- public DataObjectScaffolder|SchemaScaffolder end()
Hierarchy
Uses
- SilverStripe\GraphQL\Scaffolding\Traits\DataObjectTypeTrait
- SilverStripe\GraphQL\Scaffolding\Traits\Chainable
- SilverStripe\Core\Extensible
Implements
Members
private
- $default_fields
—
array
Minimum fields that any type will expose. Useful for implicitly created types, e.g. exposing a has_one.
protected
- $chainableParent — SilverStripe\GraphQL\Scaffolding\Traits\DataObjectScaffolder|SchemaScaffolder
- $fields — SilverStripe\ORM\ArrayList
- $nestedQueries — SilverStripe\GraphQL\Scaffolding\Util\OperationList
- $operations — SilverStripe\GraphQL\Scaffolding\Util\OperationList
Methods
protected
- allFieldsFromDataObject()
- createFields() — Validates the raw field map and creates a map suitable for ObjectType
- nestedConnections() — Gets the list of class names that are in nested queries
- nestedDataObjectClasses() — Gets any DataObjects that are implicitly required by this type definition, e.g. has_one, has_many.
public
- __construct() — DataObjectScaffold constructor.
- addAllFields() — Adds all db fields, and optionally has_one.
- addAllFieldsExcept() — Adds fields against a blacklist.
- addAllOperations() — Adds all operations that are registered
- addField()
- addFields() — Adds visible fields, and optional descriptions.
- addToManager() — Adds the type to the Manager.
- applyConfig() — Applies settings from an array, i.e. YAML
- cloneTo() — Clones this scaffolder to another class, copying over only valid fields and operations
- getAncestralClasses() — Gets the class ancestry back to DataObject.
- getDependentClasses() — Gets types for all ancestors of this class that will need to be added.
- getFieldDescription() — Gets the Description property from a field, given a name
- getFields()
- getNestedQueries()
- getOperations()
- getTypeName() — Name of graphql type
- nestedQuery() — Finds or adds a nested query, e.g. has_many/many_many relation, or a query created with a custom scaffolder
- operation() — Find or make an operation.
- removeField()
- removeFields()
- removeOperation() — Removes an operation.
- scaffold()
- setFieldDescription() — Sets the description to an existing field.
Inherited from SilverStripe\GraphQL\Scaffolding\Traits\DataObjectTypeTrait
protected
- typeName() — Type name inferred from the dataobject.
public
- getDataObjectClass()
- getDataObjectInstance()
- setDataObjectClass() — Sets the DataObject name
Inherited from SilverStripe\GraphQL\Scaffolding\Traits\Chainable
public
- end()
- setChainableParent() — Set parent