GraphQL for Delphi introduction | GraphQL for Delphi documentation

GraphQL for Delphi introduction

What is GraphQL?

GraphQL is a modern way to build HTTP APIs consumed by the web and mobile clients. It is intended to be an alternative to REST and SOAP APIs (even for existing applications).

From GraphQL itself:

GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data. GraphQL isn't tied to any specific database or storage engine and is instead backed by your existing code and data.

GraphQL provides a standard way to:

  • describe data provided by a server in a statically typed Schema;
  • request data in a Query which exactly describes your data requirements; and
  • receive data in a Response containing only the data you requested.

GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. Learn more about GraphQL language at https://graphql.org/learn/.

About GraphQL for Delphi

GraphQL for Delphi is an implementation of GraphQL specification for Delphi.

GraphQL request is validated and executed by GraphQL server with the schema of the GraphQL service and a GraphQL document which contains the operations.

GraphQL for Delphi supports Delphi 10 Seattle and later versions up to the most recent one.

Features

Below is a list of exists GraphQL for Delphi features and GraphQL specification elements covered.

  • Full GraphQL document parser with support to:
    • Full spec-compliant document lexer;
    • Executable documents and type definition documents;
    • Operations;
    • Selection sets;
    • Fields;
    • Arguments;
    • Field aliases;
    • Fragments (including inline and type conditions);
    • Input values;
    • All types supported (Int, String, Object, etc.);
    • Variables;
    • Type references (List, Non-Null);
    • Directives.
  • GraphQL schema supporting the following types:
    • Query and Mutation root types;
    • Scalars: Int, Float, String, Boolean and ID;
    • Objects, field arguments and field deprecation;
    • Interfaces;
    • Unions;
    • Enums;
    • Input objects;
    • List types;
    • Non-null types;
    • Directives, including @skip, @include and @deprecated.
  • Full Introspection support;
  • Full Validation support;
  • Spec-compliant GraphQL document execution (*)
    • Execute a GraphQL document based on a schema and retrieve results;
    • Execution strictly following GraphQL specification;
    • Skip/include directives handling;
    • Fragments;
    • Selection set execution;
    • Variables;
    • Fields and variables values coercion;
    • Field resolvers and abstract type resolvers;
    • Proper error handling in response with precise error location and extensions;
    • Automatic field resolver binding using RTTI.
  • GraphQL over HTTP:
    • GraphQL HTTP handler compliant to upcoming GraphQL over HTTP specification;
    • WebBroker dispatcher component:
      • Support for Windows and Linux servers (**);
      • Deploy with Apache, IIS, FastCGI, Standalone (***);
    • Automatic JSON serialization/deserialization.
  • GraphQL Playground IDE built-in:
    • Execute queries and debug your GraphQL server from web easily by enabling GraphQL Playground;
    • Fully customizable (light/dark theme, title, etc.).
  • Fully extensible:
    • Abstract HTTP request/response allows using the GraphQL HTTP handler with any Delphi HTTP framework;
    • Inheritable schema types allows creating your GraphQL types, including scalars.
  • Extensive documentation including full API reference.
  • Supports from Delphi 10 Seattle up to the latest available Delphi version.
  • Platforms support: Windows, Linux, macOS, Android and iOS.
  • Premium support.

(*) Unsupported features still under work: type extensions and subscriptions.

(**) Linux support requires Delphi Enterprise with Linux compiler.

(***) Functionality provided by WebBroker technology itself.

Documentation Topics

Please refer to the following topics in this documentation. This guide is also available as PDF at graphql-user-guide.pdf and as Microsoft Compiled HTML Help at graphqldoc.chm.

In this section:

Getting started

Getting started with GraphQL for Delphi.

Schema

Understanding GraphQL schema and creating a schema document.

Release Notes

List of releases, new features added and bugs fixed.

Breaking Changes

Information about breaking changes introduced by released.

Copyright Notice

Copyright information about this library.

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Getting started | GraphQL for Delphi documentation

Getting started

In this article, we will walk you through the basics of installing GraphQL for Delphi and creating a GraphQL server with it.

Installation

You can use GraphQL for Delphi starting in Delphi 10 Seattle and up to the latest Delphi versions. GraphQL for Delphi is distributed and supported by TMS Software.

You can refer to the Download page to find the links to download installer for GraphQL for Delphi for your specified Delphi version:

GraphQL for Delphi Download Page

Installation is pretty straightforward, just download and run the installer.

GraphQL for Delphi is also available in GetIt. Go to Delphi menu option Tools | GetIt Package Manager... and search for graphql. Select GraphQL for Delphi from the list of available filtered packages and click "Install".

Creating a Hello World GraphQL server

Once you have installed GraphQL for Delphi, you can build your first Hello World GraphQL server, using the following tutorial.

1. Create a new WebBroker-based web application

  • Choose Delphi menu option File -> New -> Other...;
  • Select Delphi -> Web category, and then double click option Web Server Application;
  • Follow the wizard, choosing Stand-alone GUI Application as WebBroker project type and VCL application as application type;
  • Once finished, the wizard will create a project with two units: FormUnit1 and WebModuleUnit1.

2. Define your GraphQL schema

  • Open data module WebModule1 in unit WebModuleUnit1;
  • Drop the component TGraphQLSchema in the data module.
  • Using object inspector, edit the Definition property and paste the following text:
type Query {
     hello(name: String!): String
}

3. Setting up the field resolver

  • Still in the object inspector, double click the OnInitSchema event;
  • Paste the following implementation in the new created event handler:
procedure TWebModule1.GraphQLSchema1InitSchema(Sender: TObject; Schema: TSchemaDocument);
begin
  Schema.SetResolver('Query', 'hello', function(Args: TFieldResolverArgs): TValue
    begin
      Result := 'Hello, ' + Args.GetArgument('name').AsString;
    end
  );
end;

4. Adding the WebBroker dispatcher

  • Drop the component TGraphQLWebBroker​Dispatcher in the data module;
  • Double click the Schema property of the component to associate the dispatcher to the previously added TGraphQLSchema component;
  • Set property Options.PlaygroundEnabled to True.

5. Running and testing the GraphQL server

Your GraphQL server is now ready to run.

  • Run the server, and then click the Open Browser function (or simply use your web browser to navigate to url http://localhost:8080.
  • The browser should open the GraphQL Playground IDE. Using the editor at the left side, type the following query:
query {
  hello(name: "World")
}
  • Click the Play button in the middle of the screen, and you should get the server response at the right editor:
{
  "data": {
    "hello": "Hello, World"
  }
}

Congratulations! You have built your first GraphQL server using Delphi!

Bookshelf server: a more complex example

Let's create a sample Bookshelf application to put all pieces together.

1. Create a new Web Server Application using File -> New -> Other... dialog.

Choose Stand-alone GUI Application as WebBroker project type and VCL application as application type.

2. Create new unit GraphQL.Bookshelf.pas with resolvers implementation.

For demo purposes we are not using any database, only simple TList<T> instances. Use the following code as the full unit source code.

    unit GraphQL.Bookshelf;

    interface

    uses
      Generics.Collections,
      GraphQL.Main,
      GraphQL.Schema;

    type
      TBook = class;

      TAuthor = class
      private
        FId: Integer;
        FName: string;
        function GetBooks: TArray<TBook>;
      public
        constructor Create(AName: string);
        property Books: TArray<TBook> read GetBooks;

        property Id: Integer read FId;
        property Name: string read FName;
      end;

      TBook = class
      private
        FId: Integer;
        FName: string;
        FAuthorId: Integer;
        function GetAuthor: TAuthor;
      public
        constructor Create(AName: string; AAuthorID: Integer);
        property Id: Integer read FId;
        property Name: string read FName;
        property Author: TAuthor read GetAuthor;
      end;

      TMutation = class
      public
        function CreateAuthor(Name: string): TAuthor;
        function CreateBook(Name: string; AuthorID: Integer): TBook;
      end;

      TQuery = class
        function Books: TArray<TBook>;
        function Authors: TArray<TAuthor>;
        Function Book(id: Integer): TBook;
        function Author(id: Integer): TAuthor;
      end;

    implementation

    var
      Counter: Integer;
      BookList: TObjectList<TBook>;
      AuthorList: TObjectList<TAuthor>;

    { TBook }

    constructor TBook.Create(AName: string; AAuthorID: Integer);
    begin
      inherited Create;
      FName := AName;
      FAuthorID := AAuthorID;
      FId := Counter;
      Inc(Counter);
    end;

    function TBook.GetAuthor: TAuthor;
    var
      I: Integer;
    begin
      Result := nil;
      for I := 0 to AuthorList.Count - 1 do
        if AuthorList[I].Id = Self.FAuthorId then
        begin
          Result := AuthorList[I];
          Break;
        end;
    end;

    { TMutation }

    function TMutation.CreateAuthor(Name: string): TAuthor;
    begin
      Result := TAuthor.Create(Name);
      try
        AuthorList.Add(Result)
      except
        Result.Free;
        raise;
      end;
    end;

    function TMutation.CreateBook(Name: string; AuthorID: Integer): TBook;
    begin
      Result := TBook.Create(Name, AuthorID);
      try
        BookList.Add(Result)
      except
        Result.Free;
        raise;
      end;
    end;

    { TAuthor }

    constructor TAuthor.Create(AName: string);
    begin
      inherited Create;
      FName := AName;
      FId := Counter;
      Inc(Counter);
    end;

    function TAuthor.GetBooks: TArray<TBook>;
    var
      I: Integer;
      Books: TList<TBook>;
    begin
      Books := TList<TBook>.Create;
      try
        for I := 0 to BookList.Count - 1 do
          if BookList[I].FAuthorId = Self.Id then
            Books.Add(BookList[I]);

        Result := Books.ToArray;
      finally
        Books.Free;
      end;
    end;

    { TQuery }

    function TQuery.Author(id: Integer): TAuthor;
    var
      I: Integer;
    begin
      Result := nil;
      for I := 0 to AuthorList.Count - 1 do
        if AuthorList[I].Id = id then
        begin
          Result := AuthorList[I];
          Break;
        end;
    end;

    function TQuery.Authors: TArray<TAuthor>;
    begin
      Result := AuthorList.ToArray;
    end;

    function TQuery.Book(id: Integer): TBook;
    var
      I: Integer;
    begin
      Result := nil;
      for I := 0 to BookList.Count - 1 do
        if BookList[I].Id = id then
        begin
          Result := BookList[I];
          Break;
        end;
    end;

    function TQuery.Books: TArray<TBook>;
    begin
      Result := BookList.ToArray;
    end;

    initialization
      Counter := 1;
      BookList := TObjectList<TBook>.Create(True);
      AuthorList := TObjectList<TAuthor>.Create(True);

    finalization
      BookList.Free;
      AuthorList.Free;

    end.

3. Configure the GraphQL Server application

  • Add GraphQL.Bookshelf to WebModuleUnit1 uses.

  • Open WebModuleUnit1 designer and drop TGraphQLSchema and TGraphQLWebBroker​Dispatcher components there.

  • In GraphQLWebBrokerDispatcher1 properties set Schema to our newly created GraphQLSchema1 and Options.PlaygroundEnabled to True.

  • Copy full GraphQL schema definition into GraphQLSchema1.Definition property:

    type Book {
      id: ID!
      name: String!
      author: Author!
    }

    type Author {
      id: ID!
      name: String!
      books: [Book!]!
    }

    type Query {
      author(id: ID!): Author
      book(id: ID!): Book
      books: [Book!]!
      authors: [Author!]!
    }

    type Mutation {
      createAuthor(name: String!): Author!
      createBook(name: String!, authorId: ID!): Book!
    }
  • Set bindings between resolvers and GraphQL schema in TGraphQLSchema.OnInitSchema handler:
  procedure TWebModule1.GraphQLSchema1InitSchema(Sender: TObject;
    Schema: TSchemaDocument);
  begin
    Schema.Bind('Query', TQuery);
    Schema.Bind('Mutation', TMutation);
  end;

4. Run and test the server

Now the GraphQL Server application is ready to use. Start the application, click Start button and open http://localhost:8080/graphql/ in your browser. You should see GraphQL Playground IDE and now you can perform queries to your GraphQL server.

Here are some query examples you can use:

# create author, return author id
mutation {
  createAuthor(name: "Leo") {
    id
  }
}

# create book, return book and author
mutation {
  createBook(name: "War and Peace", authorId: 1) {
    id
    author {
      name
    }
  }
}

# return all books with authors
query {
  books {
    name
    author {
      id
      name
    }
  }
}

# get author books using variables
query GetAuthor($id: ID!) {
  author(id: $id) {
    name
    books {
      id
      name
    }
  }
}
# variables:
{
  "id": 1
}
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL Schema | GraphQL for Delphi documentation

GraphQL Schema

Your GraphQL server uses a schema to describe the shape of your available data. This schema defines a hierarchy of types with fields that are populated from your back-end data stores. The schema also specifies exactly which queries and mutations are available for clients to execute.

This article describes the fundamental building blocks of a schema and how to create a schema using GraphQL for Delphi.

The schema definition language

The GraphQL specification defines a human-readable schema definition language (or SDL) that you use to define your schema and store it as a string.

Here's a short example schema that defines two object types: Book and Author:

    type Book {
      id: ID
      name: String
      author: Author
    }

    type Author {
      id: ID
      name: String
      books: [Book]
    }

A schema defines a collection of types and the relationships between those types. In the example schema above, a Book can have an associated author, and an Author can have a list of books.

Because these relationships are defined in a unified schema, client developers can see exactly what data is available and then request a specific subset of that data with a single optimized query.

Note that the schema is not responsible for defining where data comes from or how it's stored. It is entirely implementation-agnostic.

Field definitions

Most of the schema types you define have one or more fields:

    # This Book type has two fields: name and author
    type Book {
      id: ID         # record ID
      name: String   # returns a String
      author: Author # returns an Author
    }

A field can return a list containing items of a particular type. You indicate list fields with square brackets [], like so:

    type Author {
      id: ID
      name: String
      books: [Book] # A list of Books
    }

By default, it's valid for any field in your schema to return null instead of its specified type. You can require that a particular field doesn't return null with an exclamation mark !, like so:

    type Author {
      id: ID!       # Can't return null
      name: String! # Can't return null
      books: [Book]
    }

These fields are non-nullable. If your server attempts to return null for a non-nullable field, an error is thrown.

With a list field, an exclamation mark ! can appear in any combination of two locations:

    type Author {
      id: ID!         # Can't return null
      name: String!   # Can't return null
      books: [Book!]! # This list can't be null AND its list *items* can't be null
    }
  • If ! appears inside the square brackets, the returned list can't include items that are null.
  • If ! appears outside the square brackets, the list itself can't be null.
  • In any case, it's valid for a list field to return an empty list.

The Query type

The Query type is a special object type that defines all of the top-level entry points for queries that clients execute against your server.

Each field of the Query type defines the name and return type of a different entry point. The Query type for our example schema might resemble the following:

    type Query {
      author(id: ID!): Author
      book(id: ID!): Book
      books: [Book!]!
      authors: [Author!]!
    }

This Query type defines four fields. author and book fields return a record of the corresponding type by its id, books and authors fields return a list of the corresponding type.

With a REST-based API, this would probably be returned by different endpoints (e.g., /api/books, /api/authors, /api/books/:id, /api/authors/:id). The flexibility of GraphQL enables clients to query both resources with a single request.

Structuring a query

Based on our example schema so far, a client could execute the following query, which requests both a list of all book names and a list of all author names:

    query GetBooksAndAuthors {
      books {
        name
      }

      authors {
        name
      }
    }

Our server would then respond to the query with results that match the query's structure, like so:

    {
      "data": {
        "books": [
          {
            "name": "War and Peace"
          },
          ...
        ],
        "authors": [
          {
            "name": "Leo Tolstoy"
          },
          ...
        ]
      }
    }

The Mutation type

The Mutation type is similar in structure and purpose to the Query type. Whereas the Query type defines entry points for read operations, the Mutation type defines entry points for write operations.

Each field of the Mutation type defines the signature and return type of a different entry point. The Mutation type for our example schema might resemble the following:

    type Mutation {
      createAuthor(name: String!): Author!
      createBook(name: String!, authorId: ID!): Book!
    }

This Mutation type defines available mutations, createAuthor and createBook. createBook mutation accepts a single argument (name) and returns a newly created Author object. createBook mutation accepts two arguments (name and authorId) and returns a newly created Book object.

Structuring a mutation

Like queries, mutations match the structure of your schema's type definitions. The following mutation creates a new Author and requests certain fields of the created object as a return value:

    mutation CreateBook {
      createAuthor(name: "Leo Tolstoy") {
        id
        name
      }
    }

As with queries, our server would respond to this mutation with a result that matches the mutation's structure, like so:

    {
       "data": {
         "createAuthor": {
           "id": 1,
           "name": "Leo Tolstoy",
         }
       }
     }

Resolvers

GraphQL Server needs to know how to populate data for every field in your schema so that it can respond to requests for that data. To accomplish this, it uses resolvers.

A resolver is a function that's responsible for populating the data for a single field in your schema. It can populate that data in any way you define, such as by fetching data from a back-end database or a third-party API.

Defining Resolvers

Let's say our server defines the schema described above. We want to define resolvers for Query, Mutation, Author, Book and their fields.

GraphQL for Delphi library can map GraphQL schema definition onto Delphi class structure. Those resolvers definitions look like this:

type
  TBook = class;

  TAuthor = class
  private
    FId: Integer;
    FName: string;
    function GetBooks: TArray<TBook>;
  public
    constructor Create(AName: string);
    property Books: TArray<TBook> read GetBooks;

    property Id: Integer read FId;
    property Name: string read FName;
  end;

  TBook = class
  private
    FId: Integer;
    FName: string;
    FAuthorId: Integer;
    function GetAuthor: TAuthor;
  public
    constructor Create(AName: string; AAuthorID: Integer);
    property Id: Integer read FId;
    property Name: string read FName;
    property Author: TAuthor read GetAuthor;
  end;

  TMutation = class
  public
    function CreateAuthor(Name: string): TAuthor;
    function CreateBook(Name: string; AuthorID: Integer): TBook;
  end;

  TQuery = class
  public
    function Books: TArray<TBook>;
    function Authors: TArray<TAuthor>;
    function Book(id: Integer): TBook;
    function Author(id: Integer): TAuthor;
  end;
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Release Notes | GraphQL for Delphi documentation

Release Notes

Version 1.5 (Sep-2025)

  • New: Delphi 13 support.

Version 1.4 (Jan-2024)

  • New: Delphi 12 support.

  • New: Added support for TMS Sparkle, allowing to create GraphQL servers using Sparkle instead of Web Broker.

  • New: Added support for type extensions in GraphQL parser.

  • Improved: New TFieldResolver​Args.​Arguments property provides information about the field arguments.

  • Improved: Responses are being cached for increased performance.

  • Improved: Improved performance for retrieval of introspection information from the server.

  • Fixed: Empty lists were being rejected for non-null lists.

Version 1.3 (Apr-2022)

  • New: TSchemaDocument.​OnGlobal​Create event allows for registration of custom types in schema document, especially scalar types.

  • Improved: Bookshelf demo updated showing how to create custom scalar types in GraphQL schema.

Version 1.2 (Mar-2022)

  • Fixed: Validation issue when parameter types were input lists.

Version 1.1 (Feb-2022)

  • New: TGraphQLExecuter.​Current property.

Version 1.0 (Feb-2022)

  • First release.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Breaking Changes | GraphQL for Delphi documentation

Breaking Changes

List of changes in each version that breaks backward compatibility from a previous version.

No breaking changes so far.

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Copyright Information | GraphQL for Delphi documentation

Copyright Information

Main Copyright

Unless in the parts specifically mentioned below, all files in this distribution are copyright (c) tmssoftware.com and licensed under the terms detailed in the file license.rtf.

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Reference | GraphQL for Delphi documentation

Reference

In this section you can find a list of all the classes, methods and properties available.

Below is a list of most units that you can use. Each unit contains a list of the classes it contains, and each class contains a list of its members.

In this section:

GraphQL.Comp.Schema

GraphQL.Document.AST

GraphQL.Document

GraphQL.Executer

GraphQL.Helpers

GraphQL.Http.Handler

GraphQL.Http.Interfaces

GraphQL.Http.Playground

GraphQL.Parser

GraphQL.Response

GraphQL.Schema.Builder

GraphQL.Schema

GraphQL.Types

GraphQL.Validator.Operation

GraphQL.Validator

GraphQL.WebBroker

Note

This reference contains the important and relevant classes and members. Not every single class is documented, as it's more likely that it changes in future releases or it is for internal use only.

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Comp.Schema Namespace | GraphQL for Delphi documentation

GraphQL.Comp.Schema Namespace

Classes

Name | Description
TGraphQLSchema | Non-visual component representing a GraphQL schema.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLSchema Class | GraphQL for Delphi documentation

TGraphQLSchema Class

Non-visual component representing a GraphQL schema.

Remarks

TGraphQLSchema component provides schema information to other non-visual components, like GraphQL HTTP dispatchers, for example. It encapsulates a TSchemaDocument class. Common usage is to provide a schema document specification in the Definition property and add schema initialization code in OnInitSchema event handler. The component will internally create a TSchemaDocument instance based on the schema document definition, and then call OnInitSchema event passing the created instance.

Syntax

Unit: GraphQL.Comp.Schema

TGraphQLSchema = class(TComponent);

Methods

Name | Description
Document | The TSchemaDocument instance created by the component.

Properties

Name | Description
SchemaClass | Specifies the TSchemaDocument class ot be used.
Definition | Holds the GraphQL schema document which will be parsed into a TSchemaDocument instance.

Events

Name | Description
OnInitSchema | Event called after the TSchemaDocument object is generated.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLSchema.Document Method | GraphQL for Delphi documentation

TGraphQLSchema.Document Method

The TSchemaDocument instance created by the component.

Syntax

Unit: GraphQL.Comp.Schema

function TGraphQLSchema.Document: TSchemaDocument;

See also

  • TGraphQLSchema
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLSchema.SchemaClass Property | GraphQL for Delphi documentation

TGraphQLSchema.SchemaClass Property

Specifies the TSchemaDocument class ot be used.

Remarks

Set this property if you want the schema object to be instantiated as a descendant class of TSchemaDocument. If you don't change this property (if it's set to nil), then the schema will be created as TSchemaDocument.

Syntax

Unit: GraphQL.Comp.Schema

property TGraphQLSchema.SchemaClass: TSchemaDocumentClass

See also

  • TGraphQLSchema
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLSchema.Definition Property | GraphQL for Delphi documentation

TGraphQLSchema.Definition Property

Holds the GraphQL schema document which will be parsed into a TSchemaDocument instance.

Remarks

This property must contain a GraphQL text document declaring the types available in the GraphQL service. At the proper point, the component will parse this document, create a TSchemaDocument based on it, call the OnInitSchema event and then make the instance available through the Document property. Important: modifying this property will cause the TSchemaDocument to be destroyed. The process mentioned above will then be repeated to recreate the instance.

Syntax

Unit: GraphQL.Comp.Schema

property TGraphQLSchema.Definition: TStrings

See also

  • TGraphQLSchema
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLSchema.OnInitSchema Event | GraphQL for Delphi documentation

TGraphQLSchema.OnInitSchema Event

Event called after the TSchemaDocument object is generated.

Syntax

Unit: GraphQL.Comp.Schema

property TGraphQLSchema.OnInitSchema: TInitSchemaEvent

See also

  • TGraphQLSchema
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Document.AST Namespace | GraphQL for Delphi documentation

GraphQL.Document.AST Namespace

Classes

Name | Description
TASTDocumentNode | The ancestor of all classes that represent a GraphQL abstract syntax tree node.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TASTDocumentNode Class | GraphQL for Delphi documentation

TASTDocumentNode Class

The ancestor of all classes that represent a GraphQL abstract syntax tree node.

Syntax

Unit: GraphQL.Document.AST

TASTDocumentNode = class(TNoRefCountObject);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Document Namespace | GraphQL for Delphi documentation

GraphQL.Document Namespace

Classes

Name | Description
TASTDocument | Represents a root of GraphQL document abstract syntax tree.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TASTDocument Class | GraphQL for Delphi documentation

TASTDocument Class

Represents a root of GraphQL document abstract syntax tree.

Syntax

Unit: GraphQL.Document

TASTDocument = class(TObject);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Executer Namespace | GraphQL for Delphi documentation

GraphQL.Executer Namespace

Classes

Name | Description
TGraphQLExecuter | The main class for GraphQL execution. It generates a response based on some input information.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLExecuter Class | GraphQL for Delphi documentation

TGraphQLExecuter Class

The main class for GraphQL execution. It generates a response based on some input information.

Remarks

The GraphQL executer implements the "execution" of GraphQL, which is the processing of some input parameters - the GraphQL document being the most important one - and the generation of a response. The executer strictly follows chapter 6 of GraphQL specification (Execution: https://spec.graphql.org/June2018/#sec-Execution). The input parameters should be passed in the Create constructor used to create a new TGraphQLExecuter instance. Then the Execute method should be called, and the final response will be avaialable in a TGraphQLResponse object. The executer ever raises an exception. All exceptions, expected or not, are handled and provided in the final GraphQL response in the TGraphQLResponse.Errors property.

Syntax

Unit: GraphQL.Executer

TGraphQLExecuter = class(TObject);

Constructors

Name | Description
Create | Creates a new TGraphQLExecuter instance using the provided input parameters.

Methods

Name | Description
Current | Returns the instance which is executing the GraphQL query in the current thread.
Execute | Overloaded Execute Execute(TGraphQLResponse)
AddOwnership | Overloaded AddOwnership(TObject) AddOwnership(IInterface)
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLExecuter.Create Constructor | GraphQL for Delphi documentation

TGraphQLExecuter.Create Constructor

Creates a new TGraphQLExecuter instance using the provided input parameters.

Syntax

Unit: GraphQL.Executer

constructor TGraphQLExecuter.Create(ASchema: TSchemaDocument; ADocument: TASTDocument; const AOperationName: string; AVariableValues: IGraphQLMap; AInitialValue: TValue);

Parameters

<-> | Parameter | Type | Description
 | ASchema | TSchemaDocument | The TSchemaDocument instance containing the GraphQL schema (type information). The schema must be property TSchemaDocument.Initialized.
 | ADocument | TASTDocument | The TASTDocument instance representing the GraphQL document to be executed.
const | AOperationName | string | The name of the operation to be executed. The operation must exist in the TASTDocument object. This parameter can be an empty string, in this case if the document contains just a single operation, it will be executed, otherwise an error is genereated.
 | AVariableValues | IGraphQLMap | A map containing the names and values of input variables. This parameter can be nil.
 | AInitialValue | TValue | The initial value corresponding to the root type being executed. Conceptually, an initial value represents the “universe” of data available via a GraphQL Service. Can be TValue.Empty.

See also

  • TGraphQLExecuter
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLExecuter.Current Method | GraphQL for Delphi documentation

TGraphQLExecuter.Current Method

Returns the instance which is executing the GraphQL query in the current thread.

Remarks

If no execution is being performed in the current thread, returns nil.

Syntax

Unit: GraphQL.Executer

class function TGraphQLExecuter.Current: TGraphQLExecuter;

See also

  • TGraphQLExecuter
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLExecuter.Execute Method | GraphQL for Delphi documentation

TGraphQLExecuter.Execute Method

Overloads

  • TGraphQLExecuter.Execute
  • TGraphQLExecuter.Execute(TGraphQLResponse)

TGraphQLExecuter.Execute

Executes the GraphQL document using the input information provided in the Create constructor.

Remarks

The result of execution (even if there are errors) is provided in the TGraphQLResponse object returned by the function. You must destroy the returned object after you have used it.

Syntax

Unit: GraphQL.Executer

function TGraphQLExecuter.Execute: TGraphQLResponse; overload;

See also

  • TGraphQLExecuter

TGraphQLExecuter.Execute(TGraphQLResponse)

Executes the GraphQL document using the input information provided in the Create constructor.

Syntax

Unit: GraphQL.Executer

procedure TGraphQLExecuter.Execute(AResponse: TGraphQLResponse); overload;

Parameters

<-> | Parameter | Type | Description
 | AResponse | TGraphQLResponse | An instance of TGraphQLResponse that will be filled with information by the executer. It's up to the caller to create and destroy such instance.

See also

  • TGraphQLExecuter
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLExecuter.AddOwnership Method | GraphQL for Delphi documentation

TGraphQLExecuter.AddOwnership Method

Overloads

  • TGraphQLExecuter.AddOwnership(TObject)
  • TGraphQLExecuter.AddOwnership(IInterface)

TGraphQLExecuter.AddOwnership(TObject)

Tells the executer to destroy the Obj instance when the executer itself is destroyed.

Syntax

Unit: GraphQL.Executer

procedure TGraphQLExecuter.AddOwnership(Obj: TObject); overload;

Parameters

<-> | Parameter | Type | Description
 | Obj | TObject | The instance to be destroyed when the executer is destroyed.

See also

  • TGraphQLExecuter

TGraphQLExecuter.AddOwnership(IInterface)

Tells the executer to hold a reference of Intf so that it is only released when executer itself is destroyed.

Syntax

Unit: GraphQL.Executer

procedure TGraphQLExecuter.AddOwnership(const Intf: IInterface); overload;

Parameters

<-> | Parameter | Type | Description
const | Intf | IInterface | The interface to be referenced.

See also

  • TGraphQLExecuter
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Helpers Namespace | GraphQL for Delphi documentation

GraphQL.Helpers Namespace

Class Helpers

Name | Description
TASTDocumentHelper | Implements helper methods for TASTDocument class.
TSchemaDocument​Helper | Implements helper methods for TSchemaDocument class.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TASTDocumentHelper Class helper | GraphQL for Delphi documentation

TASTDocumentHelper Class helper

Implements helper methods for TASTDocument class.

Syntax

Unit: GraphQL.Helpers

TASTDocumentHelper = class helper for TASTDocument;

Methods

Name | Description
Parse | Creates a new AST document from a GraphQL document.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TASTDocumentHelper.Parse Method | GraphQL for Delphi documentation

TASTDocumentHelper.Parse Method

Creates a new AST document from a GraphQL document.

Syntax

Unit: GraphQL.Helpers

class function TASTDocumentHelper.Parse(const Document: string): TASTDocument;

Parameters

<-> | Parameter | Type | Description
const | Document | string | The GraphQL document to be parsed.

Returns

If the parsing succeeds, a new AST document instance is created, and returned. The AST document will hold the abstract syntax tree representation of the parsed document elements. It's up to the caller to destroy the returned instance.

See also

  • TASTDocumentHelper
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentHelper Class helper | GraphQL for Delphi documentation

TSchemaDocumentHelper Class helper

Implements helper methods for TSchemaDocument class.

Syntax

Unit: GraphQL.Helpers

TSchemaDocumentHelper = class helper for TSchemaDocument;

Methods

Name | Description
Parse | Creates a new schema document from a GraphQL type definition document.
Init | Initializes the schema to be used in GraphQL execution.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentHelper.Parse Method | GraphQL for Delphi documentation

TSchemaDocumentHelper.Parse Method

Creates a new schema document from a GraphQL type definition document.

Syntax

Unit: GraphQL.Helpers

class function TSchemaDocumentHelper.Parse(const Document: string; SchemaClass: TSchemaDocumentClass = nil): TSchemaDocument;

Parameters

<-> | Parameter | Type | Description
const | Document | string | The GraphQL document to be parsed.
 | SchemaClass | TSchemaDocumentClass | Optional: Default value is nil The class of TSchemaDocument to be instantiated. If nil, a TSchemaDocument will be created.

Returns

If the parsing succeeds, a new schema document instance is created, and returned. The schema document will hold all the proper objects represending the elements declared in the document (types, fields, directives, etc.). It's up to the caller to destroy the schema document instance.

See also

  • TSchemaDocumentHelper
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentHelper.Init Method | GraphQL for Delphi documentation

TSchemaDocumentHelper.Init Method

Initializes the schema to be used in GraphQL execution.

Remarks

A schema can only be used in a GraphQL execution if it's prepared, otherwise an error is raised. A schema initialization will add missing instrospection types, and do further validation of the schema, checking if all type references exist, if the types are correclty defined according to GraphQL specs, among others. A succesful initialization sets the Initialized property to true, and the schema types and properties should not be further modified after the schema was initialized.

Syntax

Unit: GraphQL.Helpers

procedure TSchemaDocumentHelper.Init;

See also

  • TSchemaDocumentHelper
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Http.Handler Namespace | GraphQL for Delphi documentation

GraphQL.Http.Handler Namespace

Classes

Name | Description
TGraphQLHttpHandler | Handles a GraphQL HTTP request and produces the respective HTTP response.
TGraphQLHttpOptions | Holds the options for GraphQL HTTP processing, used by the TGraphQLHttpHandler class.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpHandler Class | GraphQL for Delphi documentation

TGraphQLHttpHandler Class

Handles a GraphQL HTTP request and produces the respective HTTP response.

Remarks

This is the core class used to process GraphQL HTTP requests. It's not bound to any specific Delphi HTTP framework, using an abstract interface for both the HTTP request and response. This class needs the HTTP request and response interfaces, and a TSchemaDocument instance containing the GraphQL schema. After an instance is created using the mentioned objects, you just need to call the ProcessRequest method to properly process the request and fill the response.

Syntax

Unit: GraphQL.Http.Handler

TGraphQLHttpHandler = class(TObject);

Constructors

Name | Description
Create | Creates the TGraphQLHttpHandler instante from the initial required parameters.

Methods

Name | Description
ProcessRequest | Process the GraphQL HTTP request and fills the HTTP response with the results.

Properties

Name | Description
Options | Holds the options for GraphQL HTTP processing, used by the TGraphQLHttpHandler class.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpHandler.Create Constructor | GraphQL for Delphi documentation

TGraphQLHttpHandler.Create Constructor

Creates the TGraphQLHttpHandler instante from the initial required parameters.

Syntax

Unit: GraphQL.Http.Handler

constructor TGraphQLHttpHandler.Create(ARequest: IGraphQLHttpRequest; AResponse: IGraphQLHttpResponse; ASchema: TSchemaDocument; AOptions: TGraphQLHttpOptions = nil);

Parameters

<-> | Parameter | Type | Description
 | ARequest | IGraphQLHttpRequest | The HTTP request that will be examined and processed.
 | AResponse | IGraphQLHttpResponse | The HTTP response that will be filled by the handler and returned to the client.
 | ASchema | TSchemaDocument | The GraphQL schema used to process the request.
 | AOptions | TGraphQLHttpOptions | Optional: Default value is nil Optional parameter containing some options to customize the request processing. Can be nil. In this case, the default options will be used.

See also

  • TGraphQLHttpHandler
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpHandler.ProcessRequest Method | GraphQL for Delphi documentation

TGraphQLHttpHandler.ProcessRequest Method

Process the GraphQL HTTP request and fills the HTTP response with the results.

Syntax

Unit: GraphQL.Http.Handler

procedure TGraphQLHttpHandler.ProcessRequest;

See also

  • TGraphQLHttpHandler
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpHandler.Options Property | GraphQL for Delphi documentation

TGraphQLHttpHandler.Options Property

Holds the options for GraphQL HTTP processing, used by the TGraphQLHttpHandler class.

Syntax

Unit: GraphQL.Http.Handler

property TGraphQLHttpHandler.Options: TGraphQLHttpOptions

See also

  • TGraphQLHttpHandler
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpOptions Class | GraphQL for Delphi documentation

TGraphQLHttpOptions Class

Holds the options for GraphQL HTTP processing, used by the TGraphQLHttpHandler class.

Syntax

Unit: GraphQL.Http.Handler

TGraphQLHttpOptions = class(TPersistent);

Properties

Name | Description
PlaygroundEnabled | Enables the GraphQL Playground to be provided at the server root URL.
PlaygroundOptions | Holds options for the GraphQL Playground interface.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpOptions.PlaygroundEnabled Property | GraphQL for Delphi documentation

TGraphQLHttpOptions.PlaygroundEnabled Property

Enables the GraphQL Playground to be provided at the server root URL.

Remarks

GraphQL Playground is a web-based GraphQL IDE for interacting with the GraphQL server. More information can be found here: https://github.com/graphql/graphql-playground. When this property is enabled, the GraphQL server might return the GraphQL Playground if the browser performs a GET request to the server root URL. The server will decide if the Playground will be returned or a regular GraphQL query request will be processed based on the Accept request header. If the Accept header contains the text/html MIME type (usually sent by browsers), then a GET request t othe root URL will return the Playground.

Syntax

Unit: GraphQL.Http.Handler

property TGraphQLHttpOptions.PlaygroundEnabled: Boolean

See also

  • TGraphQLHttpOptions
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLHttpOptions.PlaygroundOptions Property | GraphQL for Delphi documentation

TGraphQLHttpOptions.PlaygroundOptions Property

Holds options for the GraphQL Playground interface.

Remarks

Contains specific options for the GraphQL Playground provided by the server. This property is only used if the PlaygroundEnabled property is set to True.

Syntax

Unit: GraphQL.Http.Handler

property TGraphQLHttpOptions.PlaygroundOptions: TGraphQLPlaygroundOptions

See also

  • TGraphQLHttpOptions
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Http.Interfaces Namespace | GraphQL for Delphi documentation

GraphQL.Http.Interfaces Namespace

Interfaces

Name | Description
IGraphQLHttpRequest | Represents an HTTP request.
IGraphQLHttpResponse | Represents an HTTP response.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpRequest Interface | GraphQL for Delphi documentation

IGraphQLHttpRequest Interface

Represents an HTTP request.

Remarks

This interface abstracts any HTTP request information, making all GraphQL HTTP processing decoupled from the underlying HTTP framework. You can create your own implementation of this interface to include custom support for additional HTTP libraries you might use.

Syntax

Unit: GraphQL.Http.Interfaces

IGraphQLHttpRequest = interface(IInterface);

Methods

Name | Description
GetMethod | Returns the HTTP method of the request. Must be upper case.
GetHeader | Returns the value of the specified HTTP header.
GetContent | Returns the raw request body of the request.
GetUrl | Returns the full requested URL.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpRequest.GetMethod Method | GraphQL for Delphi documentation

IGraphQLHttpRequest.GetMethod Method

Returns the HTTP method of the request. Must be upper case.

Syntax

Unit: GraphQL.Http.Interfaces

function IGraphQLHttpRequest.GetMethod: string; virtual; abstract;

See also

  • IGraphQLHttpRequest
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpRequest.GetHeader Method | GraphQL for Delphi documentation

IGraphQLHttpRequest.GetHeader Method

Returns the value of the specified HTTP header.

Syntax

Unit: GraphQL.Http.Interfaces

function IGraphQLHttpRequest.GetHeader(const Name: string): string; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the HTTP headers which value must be returned.

See also

  • IGraphQLHttpRequest
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpRequest.GetContent Method | GraphQL for Delphi documentation

IGraphQLHttpRequest.GetContent Method

Returns the raw request body of the request.

Syntax

Unit: GraphQL.Http.Interfaces

function IGraphQLHttpRequest.GetContent: TArray<Byte>; virtual; abstract;

See also

  • IGraphQLHttpRequest
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpRequest.GetUrl Method | GraphQL for Delphi documentation

IGraphQLHttpRequest.GetUrl Method

Returns the full requested URL.

Remarks

This method must return the full URL of the request. It must include the scheme (http or https), the host, the port (if not default), path and query information. For example: http://myserver/base/graphql/?operationName=Query

Syntax

Unit: GraphQL.Http.Interfaces

function IGraphQLHttpRequest.GetUrl: string; virtual; abstract;

See also

  • IGraphQLHttpRequest
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpResponse Interface | GraphQL for Delphi documentation

IGraphQLHttpResponse Interface

Represents an HTTP response.

Remarks

This interface abstracts any HTTP response information, making all GraphQL HTTP processing decoupled from the underlying HTTP framework. You can create your own implementation of this interface to include custom support for additional HTTP libraries you might use.

Syntax

Unit: GraphQL.Http.Interfaces

IGraphQLHttpResponse = interface(IInterface);

Methods

Name | Description
SetStatusCode | Sets the HTTP status code of the response.
SetHeader | Sets the value of the specified response HTTP header.
Close | Sets the response body and sends the response.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpResponse.SetStatusCode Method | GraphQL for Delphi documentation

IGraphQLHttpResponse.SetStatusCode Method

Sets the HTTP status code of the response.

Syntax

Unit: GraphQL.Http.Interfaces

procedure IGraphQLHttpResponse.SetStatusCode(const Value: Integer); virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Value | Integer | The value of the status code to be set.

See also

  • IGraphQLHttpResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpResponse.SetHeader Method | GraphQL for Delphi documentation

IGraphQLHttpResponse.SetHeader Method

Sets the value of the specified response HTTP header.

Syntax

Unit: GraphQL.Http.Interfaces

procedure IGraphQLHttpResponse.SetHeader(const Name: string; const Value: string); virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the HTTP header to be set.
const | Value | string | The new value of the HTTP header.

See also

  • IGraphQLHttpResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLHttpResponse.Close Method | GraphQL for Delphi documentation

IGraphQLHttpResponse.Close Method

Sets the response body and sends the response.

Remarks

This method should set the raw response body and immediately send the response to the client. After this method call, this interface will not be used anymore and don't need to be in a valid state.

Syntax

Unit: GraphQL.Http.Interfaces

procedure IGraphQLHttpResponse.Close(const Value: TArray<Byte>); virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Value | TArray<Byte> | The response body to be sent to the client. Can be nil or empty.

See also

  • IGraphQLHttpResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Http.Playground Namespace | GraphQL for Delphi documentation

GraphQL.Http.Playground Namespace

Classes

Name | Description
TGraphQLPlayground​Options | Set of options for the GraphQL Playground IDE.

Enumerations

Name | Description
TGraphQLPlayground​Theme | Type holding valid values for the GraphQL Playground color mode.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLPlaygroundOptions Class | GraphQL for Delphi documentation

TGraphQLPlaygroundOptions Class

Set of options for the GraphQL Playground IDE.

Remarks

Use these class properties to customize the GraphQL Playground IDE provided when the TGraphQLHttpOptions.PlaygroundEnabled is true.

Syntax

Unit: GraphQL.Http.Playground

TGraphQLPlaygroundOptions = class(TPersistent);

Properties

Name | Description
Title | The title of the GraphQL Playground web page. If empty, default value will be "GraphQL Playground".
Endpoint | The endpoint URL for the GraphQL server to be used by the Playground IDE. If empty, it will assume the server URL is the same as the GraphQL Playground.
Theme | Specifies the color mode of the IDE. Default is Dark.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLPlaygroundOptions.Title Property | GraphQL for Delphi documentation

TGraphQLPlaygroundOptions.Title Property

The title of the GraphQL Playground web page. If empty, default value will be "GraphQL Playground".

Syntax

Unit: GraphQL.Http.Playground

property TGraphQLPlaygroundOptions.Title: string

See also

  • TGraphQLPlaygroundOptions
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLPlaygroundOptions.Endpoint Property | GraphQL for Delphi documentation

TGraphQLPlaygroundOptions.Endpoint Property

The endpoint URL for the GraphQL server to be used by the Playground IDE. If empty, it will assume the server URL is the same as the GraphQL Playground.

Syntax

Unit: GraphQL.Http.Playground

property TGraphQLPlaygroundOptions.Endpoint: string

See also

  • TGraphQLPlaygroundOptions
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLPlaygroundOptions.Theme Property | GraphQL for Delphi documentation

TGraphQLPlaygroundOptions.Theme Property

Specifies the color mode of the IDE. Default is Dark.

Syntax

Unit: GraphQL.Http.Playground

property TGraphQLPlaygroundOptions.Theme: TGraphQLPlaygroundTheme

See also

  • TGraphQLPlaygroundOptions
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLPlaygroundTheme Enumeration | GraphQL for Delphi documentation

TGraphQLPlaygroundTheme Enumeration

Type holding valid values for the GraphQL Playground color mode.

Syntax

Unit: GraphQL.Http.Playground

Members

Name | Value | Description
Dark | 0 |
Light | 1 |
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Parser Namespace | GraphQL for Delphi documentation

GraphQL.Parser Namespace

Classes

Name | Description
TGraphQLDocument​Parser | Parser for GraphQL document text.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLDocumentParser Class | GraphQL for Delphi documentation

TGraphQLDocumentParser Class

Parser for GraphQL document text.

Syntax

Unit: GraphQL.Parser

TGraphQLDocumentParser = class(TObject);

Methods

Name | Description
Execute | Overloaded Execute(string) Execute(string, TList<TGraphQLError>)
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLDocumentParser.Execute Method | GraphQL for Delphi documentation

TGraphQLDocumentParser.Execute Method

Overloads

  • TGraphQLDocumentParser.Execute(string)
  • TGraphQLDocumentParser.Execute(string, TList<TGraphQLError>)

TGraphQLDocumentParser.Execute(string)

Parses a GraphQL document text. Returns its abstract syntax tree as TASTDocument.

Remarks

Throws an exception in case of a syntax error.

Syntax

Unit: GraphQL.Parser

function TGraphQLDocumentParser.Execute(const GraphQLDocument: string): TASTDocument; overload;

Parameters

<-> | Parameter | Type | Description
const | GraphQLDocument | string |

See also

  • TGraphQLDocumentParser

TGraphQLDocumentParser.Execute(string, TList<TGraphQLError>)

Parses a GraphQL document text. Returns its abstract syntax tree as TASTDocument.

Remarks

Does not throw an exception in case of a syntax error. If a syntax error occurs, returns nil and a list of error messages in the Errors parameter.

Syntax

Unit: GraphQL.Parser

function TGraphQLDocumentParser.Execute(const GraphQLDocument: string; Errors: TList<TGraphQLError>): TASTDocument; overload;

Parameters

<-> | Parameter | Type | Description
const | GraphQLDocument | string |
 | Errors | TList<TGraphQLError> |

See also

  • TGraphQLDocumentParser
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Response Namespace | GraphQL for Delphi documentation

GraphQL.Response Namespace

Classes

Name | Description
TGraphQLError | Contains error information that might be present in a GraphQL respose.
TGraphQLError​Location | Contains information about the location where the error occurred.
TGraphQLResponse | Contains the results of a GraphQL execution.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError Class | GraphQL for Delphi documentation

TGraphQLError Class

Contains error information that might be present in a GraphQL respose.

Syntax

Unit: GraphQL.Response

TGraphQLError = class(TObject);

Methods

Name | Description
ToString | Returns the full content of the error in a user-friendly format.
AddLocation | Adds the location (line and column) of the document where the error occurred.

Properties

Name | Description
Message | Contains the error message.
Locations | Provides a list of all locations in the document where the error occurred.
Extensions | Provides extra information about the error, as a map of string keys and arbitrary value.s
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError.ToString Method | GraphQL for Delphi documentation

TGraphQLError.ToString Method

Returns the full content of the error in a user-friendly format.

Syntax

Unit: GraphQL.Response

function TGraphQLError.ToString: string; override;

See also

  • TGraphQLError
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError.AddLocation Method | GraphQL for Delphi documentation

TGraphQLError.AddLocation Method

Adds the location (line and column) of the document where the error occurred.

Syntax

Unit: GraphQL.Response

procedure TGraphQLError.AddLocation(Line: Integer; Column: Integer);

Parameters

<-> | Parameter | Type | Description
 | Line | Integer |
 | Column | Integer |

See also

  • TGraphQLError
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError.Message Property | GraphQL for Delphi documentation

TGraphQLError.Message Property

Contains the error message.

Syntax

Unit: GraphQL.Response

property TGraphQLError.Message: string

See also

  • TGraphQLError
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError.Locations Property | GraphQL for Delphi documentation

TGraphQLError.Locations Property

Provides a list of all locations in the document where the error occurred.

Syntax

Unit: GraphQL.Response

property TGraphQLError.Locations: TList<TGraphQLErrorLocation>

See also

  • TGraphQLError
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLError.Extensions Property | GraphQL for Delphi documentation

TGraphQLError.Extensions Property

Provides extra information about the error, as a map of string keys and arbitrary value.s

Syntax

Unit: GraphQL.Response

property TGraphQLError.Extensions: IGraphQLMap

See also

  • TGraphQLError
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLErrorLocation Class | GraphQL for Delphi documentation

TGraphQLErrorLocation Class

Contains information about the location where the error occurred.

Syntax

Unit: GraphQL.Response

TGraphQLErrorLocation = class(TObject);

Properties

Name | Description
Line | The line of document where the error occurred.
Column | The column of document where the error occurred.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLErrorLocation.Line Property | GraphQL for Delphi documentation

TGraphQLErrorLocation.Line Property

The line of document where the error occurred.

Syntax

Unit: GraphQL.Response

property TGraphQLErrorLocation.Line: Integer

See also

  • TGraphQLErrorLocation
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLErrorLocation.Column Property | GraphQL for Delphi documentation

TGraphQLErrorLocation.Column Property

The column of document where the error occurred.

Syntax

Unit: GraphQL.Response

property TGraphQLErrorLocation.Column: Integer

See also

  • TGraphQLErrorLocation
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLResponse Class | GraphQL for Delphi documentation

TGraphQLResponse Class

Contains the results of a GraphQL execution.

Remarks

This object holds information generated after a GraphQL document is executed using the GraphQL.Executer.TGraphQLExecuter. Main information is provided in Data property, while if the execution generated any errors they will be available in the Errors property.

Syntax

Unit: GraphQL.Response

TGraphQLResponse = class(TObject);

Properties

Name | Description
Data | Contains a map representing the result of the execution of the requested operation.
Errors | Holds a list of errors generated during the GraphQL execution.
Cacheable | Indicates if this response can be cached
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLResponse.Data Property | GraphQL for Delphi documentation

TGraphQLResponse.Data Property

Contains a map representing the result of the execution of the requested operation.

Remarks

This property contains the result of the execution of the requested operation. If the operation was a query, this output will be an object of the schema’s query root type; if the operation was a mutation, this output will be an object of the schema’s mutation root type. Note that this property might be nil. This can happen if an error was encountered before execution begins, or if an error was encountered during the execution that prevented a valid response.

Syntax

Unit: GraphQL.Response

property TGraphQLResponse.Data: IGraphQLMap

See also

  • TGraphQLResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLResponse.Errors Property | GraphQL for Delphi documentation

TGraphQLResponse.Errors Property

Holds a list of errors generated during the GraphQL execution.

Remarks

/ If no errors were encountered during the requested operation, the list will be empty. Even if Data property contains a value, this property might contain any errors that occurred during execution.

Syntax

Unit: GraphQL.Response

property TGraphQLResponse.Errors: TList<TGraphQLError>

See also

  • TGraphQLResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLResponse.Cacheable Property | GraphQL for Delphi documentation

TGraphQLResponse.Cacheable Property

Indicates if this response can be cached

Remarks

You should not change this property directly. This property is set automatically by GraphQL executer and indicates if a response should be cached.

Syntax

Unit: GraphQL.Response

property TGraphQLResponse.Cacheable: Boolean

See also

  • TGraphQLResponse
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Schema.Builder Namespace | GraphQL for Delphi documentation

GraphQL.Schema.Builder Namespace

Classes

Name | Description
TSchemaDocument​Builder | Builds a TSchemaDocument from a GraphQL document represented by a TASTDocument instance.
TSchemaDocument​Initializer | The class used to initialize the schema document for use in executions.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentBuilder Class | GraphQL for Delphi documentation

TSchemaDocumentBuilder Class

Builds a TSchemaDocument from a GraphQL document represented by a TASTDocument instance.

Syntax

Unit: GraphQL.Schema.Builder

TSchemaDocumentBuilder = class(TObject);

Constructors

Name | Description
Create | Instantiates and initializes the schema document builder

Methods

Name | Description
Build | Builds the schema document instance from the AST.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentBuilder.Create Constructor | GraphQL for Delphi documentation

TSchemaDocumentBuilder.Create Constructor

Instantiates and initializes the schema document builder

Syntax

Unit: GraphQL.Schema.Builder

constructor TSchemaDocumentBuilder.Create(ADocument: TASTDocument; AOwnsDocument: Boolean = False);

Parameters

<-> | Parameter | Type | Description
 | ADocument | TASTDocument | The AST of the GraphQL document with the schema specification.
 | AOwnsDocument | Boolean | Optional: Default value is False When true, the AST document will be destroyed when the schema builder is destroyed.

See also

  • TSchemaDocumentBuilder
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentBuilder.Build Method | GraphQL for Delphi documentation

TSchemaDocumentBuilder.Build Method

Builds the schema document instance from the AST.

Remarks

This function instantiates and returns the TSchemaDocument object built from the AST document. It's up to the caller to eventually destroy this instance.

Syntax

Unit: GraphQL.Schema.Builder

function TSchemaDocumentBuilder.Build(SchemaClass: TSchemaDocumentClass = nil): TSchemaDocument;

Parameters

<-> | Parameter | Type | Description
 | SchemaClass | TSchemaDocumentClass | Optional: Default value is nil

See also

  • TSchemaDocumentBuilder
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentInitializer Class | GraphQL for Delphi documentation

TSchemaDocumentInitializer Class

The class used to initialize the schema document for use in executions.

Remarks

A schema document must be initialized to be properly used in GraphQL executions. Use the Init method to initialize the schema.

Syntax

Unit: GraphQL.Schema.Builder

TSchemaDocumentInitializer = class(TObject);

Constructors

Name | Description
Create | Instantiates the schema document initializer.

Methods

Name | Description
Init | Initializes the schema document for use in executions.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentInitializer.Create Constructor | GraphQL for Delphi documentation

TSchemaDocumentInitializer.Create Constructor

Instantiates the schema document initializer.

Syntax

Unit: GraphQL.Schema.Builder

constructor TSchemaDocumentInitializer.Create(ASchema: TSchemaDocument);

Parameters

<-> | Parameter | Type | Description
 | ASchema | TSchemaDocument | The schema document which will be prepared and initialized.

See also

  • TSchemaDocumentInitializer
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentInitializer.Init Method | GraphQL for Delphi documentation

TSchemaDocumentInitializer.Init Method

Initializes the schema document for use in executions.

Remarks

A schema can only be used in a GraphQL execution if it's prepared, otherwise an error is raised. A schema initialization will add missing instrospection types, and do further validation of the schema, checking if all type references exist, if the types are correclty defined according to GraphQL specs, among others. A succesful initialization sets the Initialized property to true, and the schema types and properties should not be further modified after the schema was initialized.

Syntax

Unit: GraphQL.Schema.Builder

procedure TSchemaDocumentInitializer.Init;

See also

  • TSchemaDocumentInitializer
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Schema Namespace | GraphQL for Delphi documentation

GraphQL.Schema Namespace

Classes

Name | Description
TFieldResolverArgs | The arguments passed to the field resolver for resolving the field value.
TSchemaAssignable​Type | A GraphQL type that can be assigned to a property as a reference to a schema type.
TSchemaBooleanType | Represents the GraphQL Boolean type.
TSchemaDirective​Definition | Represents a GraphQL directive definition.
TSchemaDocument | Holds information about the GraphQL schema.
TSchemaEnumType | Represents a GraphQL enum type.
TSchemaEnumValue | Represents a enum value in a GraphQL enum type.
TSchemaField | Represents a GraphQL object field.
TSchemaFloatType | Represents the GraphQL Float type.
TSchemaIDType | Represents the GraphQL ID type.
TSchemaInput​Object​Type | Represents a GraphQL input object type.
TSchemaInputValue | Represents a GraphQL input value definition (field argument or input object field).
TSchemaInterfaceType | Represents a GraphQL interface type.
TSchemaIntType | Represents the GraphQL Int type.
TSchemaListType | Represents a GraphQL list type.
TSchemaNamedType | Represents a named GraphQL type.
TSchemaNonNullType | Represents a GraphQL non-null type.
TSchemaObjectType | Represents a GraphQL object type.
TSchemaScalarType | Represents a GraphQL scalar type. Ancestor of concrete scalar implementations.
TSchemaStringType | Represents the GraphQL String type.
TSchemaStructured​Type | Base class for structure output type, which can be either a TSchemaObjectType or an TSchemaInterfaceType.
TSchemaType | The ancestor of all classes that represent a GraphQL type.
TSchemaUnionType | Represents a GraphQL union type.
TTypeResolverArgs | The arguments passed to the type resolver for resolving the abstract type of an union of interface type.

Interfaces

Name | Description
IFieldResolver | A field resolver returns a value for a given field within a graph.
ITypeResolver | A type resolver returns the schema object type being used to implement a give interface or union.

Class References

Name | Description
TSchemaDocumentClass | A type representing a TSchemaDocument class.

Anonymous methods

Name | Description
TFieldResolverFunc | The function type of a field resolver. A function of this type is executed to resolve a field.
TSchemaDocumentProc | An event type that receives a schema document when fired.
TTypeResolverFunc | The function type of a type resolver. A function of this type is executed to resolve a type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs Class | GraphQL for Delphi documentation

TFieldResolverArgs Class

The arguments passed to the field resolver for resolving the field value.

Syntax

Unit: GraphQL.Schema

TFieldResolverArgs = class(TObject);

Methods

Name | Description
HasArgument | Returns true the value of the specified input argument was provided.
GetArgument | Returns the provided value of the specified input argument.

Properties

Name | Description
FieldName | The name of the field being resolved.
Root | The root value (initial value) of the GraphQL execution.
Source | Contains the object value (source) which is providing the field.
ParentType | The GraphQL object type which holds the definition if the field being resolved.
Schema | A reference to the schema document used in the current GraphQL execution.
Arguments | Retrieves the list of input arguments.
Cacheable | Indicates if the response should be cacheable.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.HasArgument Method | GraphQL for Delphi documentation

TFieldResolverArgs.HasArgument Method

Returns true the value of the specified input argument was provided.

Syntax

Unit: GraphQL.Schema

function TFieldResolverArgs.HasArgument(const Name: string): Boolean;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the input argument.

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.GetArgument Method | GraphQL for Delphi documentation

TFieldResolverArgs.GetArgument Method

Returns the provided value of the specified input argument.

Syntax

Unit: GraphQL.Schema

function TFieldResolverArgs.GetArgument(const Name: string): TValue;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the input argument.

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.FieldName Property | GraphQL for Delphi documentation

TFieldResolverArgs.FieldName Property

The name of the field being resolved.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.FieldName: string

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.Root Property | GraphQL for Delphi documentation

TFieldResolverArgs.Root Property

The root value (initial value) of the GraphQL execution.

Remarks

Conceptually, an initial value represents the "universe" of data available via a GraphQL Service.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.Root: TValue

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.Source Property | GraphQL for Delphi documentation

TFieldResolverArgs.Source Property

Contains the object value (source) which is providing the field.

Remarks

Conceptually, the source corresponds to the objectValue parameter for the ResolveFieldValue algorithm in the GraphQL specification. In practical terms, it's usually the object instance holding the field (or property) being retrieved.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.Source: TValue

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.ParentType Property | GraphQL for Delphi documentation

TFieldResolverArgs.ParentType Property

The GraphQL object type which holds the definition if the field being resolved.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.ParentType: TSchemaObjectType

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.Schema Property | GraphQL for Delphi documentation

TFieldResolverArgs.Schema Property

A reference to the schema document used in the current GraphQL execution.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.Schema: TSchemaDocument

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.Arguments Property | GraphQL for Delphi documentation

TFieldResolverArgs.Arguments Property

Retrieves the list of input arguments.

Remarks

The arguments are presented as a enumerable of TPair<string, TValue>.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.Arguments: TEnumerable<string, TValue>>

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverArgs.Cacheable Property | GraphQL for Delphi documentation

TFieldResolverArgs.Cacheable Property

Indicates if the response should be cacheable.

Remarks

Set this property to true to tell the GraphQL engine that the response of this field can be cached.

Syntax

Unit: GraphQL.Schema

property TFieldResolverArgs.Cacheable: Boolean

See also

  • TFieldResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaAssignableType Class | GraphQL for Delphi documentation

TSchemaAssignableType Class

A GraphQL type that can be assigned to a property as a reference to a schema type.

Remarks

This type is a specific construction of GraphQL for Delphi to avoid multiple references to multiple TSchemaType instances representing the same GraphQL type. Descendants of this class are TSchemaNonNullType and TSchemaListType, which are the "anonymous" (non-named) types in GraphQL. That's why you can only assign types like this. When you need to assign a named type to a property, the library will usually provide an overloaded method where you just pass the referenced type name, instead of an assignable type.

Syntax

Unit: GraphQL.Schema

TSchemaAssignableType = class(TSchemaType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaBooleanType Class | GraphQL for Delphi documentation

TSchemaBooleanType Class

Represents the GraphQL Boolean type.

Syntax

Unit: GraphQL.Schema

TSchemaBooleanType = class(TSchemaScalarType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition Class | GraphQL for Delphi documentation

TSchemaDirectiveDefinition Class

Represents a GraphQL directive definition.

Syntax

Unit: GraphQL.Schema

TSchemaDirectiveDefinition = class(TObject);

Methods

Name | Description
AddArgument | Adds an input argument for the directive.
FindArgument | Returns the input argument with the specified name.

Properties

Name | Description
Name | The name of the directive.
Description | Optional description for the directive.
Arguments | Returns the collection of input arguments of the directive.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition.AddArgument Method | GraphQL for Delphi documentation

TSchemaDirectiveDefinition.AddArgument Method

Adds an input argument for the directive.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDirectiveDefinition.AddArgument(Value: TSchemaInputValue);

Parameters

<-> | Parameter | Type | Description
 | Value | TSchemaInputValue |

See also

  • TSchemaDirectiveDefinition
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition.FindArgument Method | GraphQL for Delphi documentation

TSchemaDirectiveDefinition.FindArgument Method

Returns the input argument with the specified name.

Remarks

Returns nil if the argument is not found.

Syntax

Unit: GraphQL.Schema

function TSchemaDirectiveDefinition.FindArgument(const Name: string): TSchemaInputValue;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the argument to be found.

See also

  • TSchemaDirectiveDefinition
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition.Name Property | GraphQL for Delphi documentation

TSchemaDirectiveDefinition.Name Property

The name of the directive.

Syntax

Unit: GraphQL.Schema

property TSchemaDirectiveDefinition.Name: string

See also

  • TSchemaDirectiveDefinition
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition.Description Property | GraphQL for Delphi documentation

TSchemaDirectiveDefinition.Description Property

Optional description for the directive.

Syntax

Unit: GraphQL.Schema

property TSchemaDirectiveDefinition.Description: string

See also

  • TSchemaDirectiveDefinition
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDirectiveDefinition.Arguments Property | GraphQL for Delphi documentation

TSchemaDirectiveDefinition.Arguments Property

Returns the collection of input arguments of the directive.

Syntax

Unit: GraphQL.Schema

property TSchemaDirectiveDefinition.Arguments: TEnumerable<TSchemaInputValue>

See also

  • TSchemaDirectiveDefinition
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument Class | GraphQL for Delphi documentation

TSchemaDocument Class

Holds information about the GraphQL schema.

Remarks

A schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.

Syntax

Unit: GraphQL.Schema

TSchemaDocument = class(TObject);

Methods

Name Description
Add Adds a type to the schema.
FindType Returns an existing type with the specified name.
GetType Returns an existing type with the specified name.
FindDirective Returns an existing directive with the specified name.
AddDirective Adds a new directive to the schema.
SetResolver Overloaded
 SetResolver(string, string, IFieldResolver)
SetResolver(string, string, TFieldResolverFunc)
SetTypeResolver Overloaded
 SetTypeResolver(string, ITypeResolver)
SetTypeResolver(string, TTypeResolverFunc)
Bind Binds an existing object type to a class.

Properties

Name | Description
Initialized | Indicates if the schema was properly initialized.
TypeCount | Returns the number of types registered in this schema.
Types[Index] | Returns the type at the specified index.
AllTypes | Returns an enumeration of all the graph types utilized by this schema.
Query | The 'query' base graph type. Required.
Mutation | The 'mutation' base graph type.
Subscription | The 'subscription' base graph type.
Directives | A collection of the available directives in schema.
OnGlobalCreate | Fired every time a new TSchemaDocument is instantiated.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Add Method | GraphQL for Delphi documentation

TSchemaDocument.Add Method

Adds a type to the schema.

Remarks

The type instance will be destroyed when the schema is destroyed.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.Add(AType: TSchemaNamedType);

Parameters

<-> | Parameter | Type | Description
 | AType | TSchemaNamedType |

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.FindType Method | GraphQL for Delphi documentation

TSchemaDocument.FindType Method

Returns an existing type with the specified name.

Remarks

Returns the named type with the specified name. If no type with the name exists, returns nil.

Syntax

Unit: GraphQL.Schema

function TSchemaDocument.FindType(const Name: string): TSchemaNamedType;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the type to be found.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.GetType Method | GraphQL for Delphi documentation

TSchemaDocument.GetType Method

Returns an existing type with the specified name.

Remarks

Returns the named type with the specified name. If no type with the name exists, an exception is raised.

Syntax

Unit: GraphQL.Schema

function TSchemaDocument.GetType(const Name: string): TSchemaNamedType;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the type to be found.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.FindDirective Method | GraphQL for Delphi documentation

TSchemaDocument.FindDirective Method

Returns an existing directive with the specified name.

Remarks

Returns the directive with the specified name. If no directive with the name exists, returns nil.

Syntax

Unit: GraphQL.Schema

function TSchemaDocument.FindDirective(const Name: string): TSchemaDirectiveDefinition;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the directive to be found.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.AddDirective Method | GraphQL for Delphi documentation

TSchemaDocument.AddDirective Method

Adds a new directive to the schema.

Remarks

The directive instance will be destroyed when the schema is destroyed.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.AddDirective(Value: TSchemaDirectiveDefinition);

Parameters

<-> | Parameter | Type | Description
 | Value | TSchemaDirective​Definition | The directive to be added.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.SetResolver Method | GraphQL for Delphi documentation

TSchemaDocument.SetResolver Method

Overloads

  • TSchemaDocument.SetResolver(string, string, IFieldResolver)
  • TSchemaDocument.SetResolver(string, string, TFieldResolverFunc)

TSchemaDocument.SetResolver(string, string, IFieldResolver)

Sets the resolver for a field in an object type.

Remarks

If an object type with the specified name does not exist in schema, or if a field with the specified name doesn not exist in the object type, an exception will be raised.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.SetResolver(const ObjectTypeName: string; const FieldName: string; Resolver: IFieldResolver); overload;

Parameters

<-> | Parameter | Type | Description
const | ObjectTypeName | string | The name of the object type holding the field.
const | FieldName | string | The name of the field which resolver will be set.
 | Resolver | IFieldResolver | The field resolver interface to be set for the field.

See also

  • TSchemaDocument

TSchemaDocument.SetResolver(string, string, TFieldResolverFunc)

Sets the resolver for a field in an object type.

Remarks

If an object type with the specified name does not exist in schema, or if a field with the specified name doesn not exist in the object type, an exception will be raised.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.SetResolver(const ObjectTypeName: string; const FieldName: string; Func: TFieldResolverFunc); overload;

Parameters

<-> | Parameter | Type | Description
const | ObjectTypeName | string | The name of the object type holding the field.
const | FieldName | string | The name of the field which resolver will be set.
 | Func | TFieldResolverFunc | The anonymous function which will be executed to resolve the field.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.SetTypeResolver Method | GraphQL for Delphi documentation

TSchemaDocument.SetTypeResolver Method

Overloads

  • TSchemaDocument.SetTypeResolver(string, ITypeResolver)
  • TSchemaDocument.SetTypeResolver(string, TTypeResolverFunc)

TSchemaDocument.SetTypeResolver(string, ITypeResolver)

Sets the type resolver for the specified interface or union type.

Remarks

If neither an interface type nor an union type with the specified name exist in the schema, an exception will be raised.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.SetTypeResolver(const AbstractTypeName: string; Resolver: ITypeResolver); overload;

Parameters

<-> | Parameter | Type | Description
const | AbstractTypeName | string | The name of the interface or union type.
 | Resolver | ITypeResolver | The type resolver to be set for the type.

See also

  • TSchemaDocument

TSchemaDocument.SetTypeResolver(string, TTypeResolverFunc)

Sets the type resolver for the specified interface or union type.

Remarks

If neither an interface type nor an union type with the specified name exist in the schema, an exception will be raised.

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.SetTypeResolver(const AbstractTypeName: string; Func: TTypeResolverFunc); overload;

Parameters

<-> | Parameter | Type | Description
const | AbstractTypeName | string | The name of the interface or union type.
 | Func | TTypeResolverFunc | The anonymous function which will be executed to resolve the type.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Bind Method | GraphQL for Delphi documentation

TSchemaDocument.Bind Method

Binds an existing object type to a class.

Remarks

The binding process tries to automatically set the resolver of all object type fields. For each field in the object type, it checks if the class has a member (method, property or field - in this order) with the same name as the object type field. In the case of a method, it also checks if the field input arguments have the same name as the method parameter names. If the class member is found, then a resolver is set for the field. At runtime, during the query execution, when resolving the field, the resolver will invoke the respective method passing the proper arguments (or read the property/field value) and used the returned value as the field resolution value. If the specified object type is not found, an exception is raised. If a resolver cannot be found for each and every field of the specified object type, an exception is raised.s

Syntax

Unit: GraphQL.Schema

procedure TSchemaDocument.Bind(const ObjectTypeName: string; BoundClass: TClass);

Parameters

<-> | Parameter | Type | Description
const | ObjectTypeName | string | The name of the object type to be bound.
 | BoundClass | TClass | The class to be bound to the object type.

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Initialized Property | GraphQL for Delphi documentation

TSchemaDocument.Initialized Property

Indicates if the schema was properly initialized.

Remarks

A schema can only be used in an execution if it has been initialized. Use TSchemaDocumentHelper.Init method to initialize a schema after you have properly added and configured all its types.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Initialized: Boolean

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.TypeCount Property | GraphQL for Delphi documentation

TSchemaDocument.TypeCount Property

Returns the number of types registered in this schema.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.TypeCount: Integer

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Types[Index] Property | GraphQL for Delphi documentation

TSchemaDocument.Types[Index] Property

Returns the type at the specified index.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Types[Index]: TSchemaType

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.AllTypes Property | GraphQL for Delphi documentation

TSchemaDocument.AllTypes Property

Returns an enumeration of all the graph types utilized by this schema.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.AllTypes: TEnumerable<TSchemaNamedType>

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Query Property | GraphQL for Delphi documentation

TSchemaDocument.Query Property

The 'query' base graph type. Required.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Query: TSchemaObjectType

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Mutation Property | GraphQL for Delphi documentation

TSchemaDocument.Mutation Property

The 'mutation' base graph type.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Mutation: TSchemaObjectType

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Subscription Property | GraphQL for Delphi documentation

TSchemaDocument.Subscription Property

The 'subscription' base graph type.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Subscription: TSchemaObjectType

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.Directives Property | GraphQL for Delphi documentation

TSchemaDocument.Directives Property

A collection of the available directives in schema.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.Directives: TEnumerable<TSchemaDirectiveDefinition>

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocument.OnGlobalCreate Property | GraphQL for Delphi documentation

TSchemaDocument.OnGlobalCreate Property

Fired every time a new TSchemaDocument is instantiated.

Remarks

You can use this event to add custom types to the schema before it's parsed and validated.

Syntax

Unit: GraphQL.Schema

property TSchemaDocument.OnGlobalCreate: TSchemaDocumentProc

See also

  • TSchemaDocument
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumType Class | GraphQL for Delphi documentation

TSchemaEnumType Class

Represents a GraphQL enum type.

Syntax

Unit: GraphQL.Schema

TSchemaEnumType = class(TSchemaScalarType);

Constructors

Name | Description
Create | Creates the enumeration type with the specified name.

Methods

Name | Description
Contains | Returns true if the specified value is a valid enum value.
AddValue | Adds a new enum value to this type.

Properties

Name | Description
Values | Provides the collection of enum values in this type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumType.Create Constructor | GraphQL for Delphi documentation

TSchemaEnumType.Create Constructor

Creates the enumeration type with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaEnumType.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaEnumType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumType.Contains Method | GraphQL for Delphi documentation

TSchemaEnumType.Contains Method

Returns true if the specified value is a valid enum value.

Syntax

Unit: GraphQL.Schema

function TSchemaEnumType.Contains(const AValue: string): Boolean; virtual;

Parameters

<-> | Parameter | Type | Description
const | AValue | string | The enum value name to be verified as belonging to the enum type.

See also

  • TSchemaEnumType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumType.AddValue Method | GraphQL for Delphi documentation

TSchemaEnumType.AddValue Method

Adds a new enum value to this type.

Syntax

Unit: GraphQL.Schema

procedure TSchemaEnumType.AddValue(Value: TSchemaEnumValue);

Parameters

<-> | Parameter | Type | Description
 | Value | TSchemaEnumValue | The enum value to be added. It will be destroyed when the type is destroyed.

See also

  • TSchemaEnumType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumType.Values Property | GraphQL for Delphi documentation

TSchemaEnumType.Values Property

Provides the collection of enum values in this type.

Syntax

Unit: GraphQL.Schema

property TSchemaEnumType.Values: TEnumerable<TSchemaEnumValue>

See also

  • TSchemaEnumType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumValue Class | GraphQL for Delphi documentation

TSchemaEnumValue Class

Represents a enum value in a GraphQL enum type.

Syntax

Unit: GraphQL.Schema

TSchemaEnumValue = class(TObject);

Constructors

Name | Description
Create | Creates the enum value with the specified name.

Properties

Name | Description
Name | The name of enumerated value.
IsDeprecated | Indicates if the enum value is deprecated.
DeprecationReason | Contains the reason for an enum value to be deprecated.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumValue.Create Constructor | GraphQL for Delphi documentation

TSchemaEnumValue.Create Constructor

Creates the enum value with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaEnumValue.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaEnumValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumValue.Name Property | GraphQL for Delphi documentation

TSchemaEnumValue.Name Property

The name of enumerated value.

Syntax

Unit: GraphQL.Schema

property TSchemaEnumValue.Name: string

See also

  • TSchemaEnumValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumValue.IsDeprecated Property | GraphQL for Delphi documentation

TSchemaEnumValue.IsDeprecated Property

Indicates if the enum value is deprecated.

Remarks

This property is read-only and returns true if the DeprecationReason property has a value. To deprecate an enum value, set a value to such property.

Syntax

Unit: GraphQL.Schema

property TSchemaEnumValue.IsDeprecated: Boolean

See also

  • TSchemaEnumValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaEnumValue.DeprecationReason Property | GraphQL for Delphi documentation

TSchemaEnumValue.DeprecationReason Property

Contains the reason for an enum value to be deprecated.

Remarks

Setting a non-empty string value to this property will automatically deprecated the enum value.

Syntax

Unit: GraphQL.Schema

property TSchemaEnumValue.DeprecationReason: string

See also

  • TSchemaEnumValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField Class | GraphQL for Delphi documentation

TSchemaField Class

Represents a GraphQL object field.

Syntax

Unit: GraphQL.Schema

TSchemaField = class(TObject);

Constructors

Name Description
Create Overloaded
 Create(string, TSchemaAssignableType)
Create(string, string)

Methods

Name | Description
FindArgument | Retrieves the input argument with the specified name.
AddArgument | Adds an input argument for the field.

Properties

Name | Description
Name | The name of the field.
Description | Optional description for the field.
Arguments | Returns the collection of input arguments of the field.
FieldType | The type of the field.
Resolver | Contains the IFieldResolver to be used to resolve the value for the field.
IsDeprecated | Indicates if the field is deprecated.
DeprecationReason | Contains the reason for a field to be deprecated.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.Create Constructor | GraphQL for Delphi documentation

TSchemaField.Create Constructor

Overloads

  • TSchemaField.Create(string, TSchemaAssignableType)
  • TSchemaField.Create(string, string)

TSchemaField.Create(string, TSchemaAssignableType)

Creates an object field with the specified name and type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaField.Create(const AName: string; AFieldType: TSchemaAssignableType);

Parameters

<-> | Parameter | Type | Description
const | AName | string | The name of the field.
 | AFieldType | TSchemaAssignable​Type | The type of the field.

See also

  • TSchemaField

TSchemaField.Create(string, string)

Creates an object field with the specified name and type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaField.Create(const AName: string; const AFieldTypeName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string | The name of the field.
const | AFieldTypeName | string | The type name of the field.

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.FindArgument Method | GraphQL for Delphi documentation

TSchemaField.FindArgument Method

Retrieves the input argument with the specified name.

Remarks

If the specified input argument does not exist, nil is returned.

Syntax

Unit: GraphQL.Schema

function TSchemaField.FindArgument(const aName: string): TSchemaInputValue;

Parameters

<-> | Parameter | Type | Description
const | aName | string |

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.AddArgument Method | GraphQL for Delphi documentation

TSchemaField.AddArgument Method

Adds an input argument for the field.

Syntax

Unit: GraphQL.Schema

procedure TSchemaField.AddArgument(Value: TSchemaInputValue);

Parameters

<-> | Parameter | Type | Description
 | Value | TSchemaInputValue |

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.Name Property | GraphQL for Delphi documentation

TSchemaField.Name Property

The name of the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.Name: string

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.Description Property | GraphQL for Delphi documentation

TSchemaField.Description Property

Optional description for the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.Description: string

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.Arguments Property | GraphQL for Delphi documentation

TSchemaField.Arguments Property

Returns the collection of input arguments of the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.Arguments: TEnumerable<TSchemaInputValue>

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.FieldType Property | GraphQL for Delphi documentation

TSchemaField.FieldType Property

The type of the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.FieldType: TSchemaType

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.Resolver Property | GraphQL for Delphi documentation

TSchemaField.Resolver Property

Contains the IFieldResolver to be used to resolve the value for the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.Resolver: IFieldResolver

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.IsDeprecated Property | GraphQL for Delphi documentation

TSchemaField.IsDeprecated Property

Indicates if the field is deprecated.

Remarks

This property is read-only and returns true if the DeprecationReason property has a value. To deprecate a field, set a value to such property.

Syntax

Unit: GraphQL.Schema

property TSchemaField.IsDeprecated: Boolean

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaField.DeprecationReason Property | GraphQL for Delphi documentation

TSchemaField.DeprecationReason Property

Contains the reason for a field to be deprecated.

Remarks

Setting a non-empty string value to this property will automatically deprecated the field.

Syntax

Unit: GraphQL.Schema

property TSchemaField.DeprecationReason: string

See also

  • TSchemaField
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaFloatType Class | GraphQL for Delphi documentation

TSchemaFloatType Class

Represents the GraphQL Float type.

Syntax

Unit: GraphQL.Schema

TSchemaFloatType = class(TSchemaScalarType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaIDType Class | GraphQL for Delphi documentation

TSchemaIDType Class

Represents the GraphQL ID type.

Syntax

Unit: GraphQL.Schema

TSchemaIDType = class(TSchemaScalarType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputObjectType Class | GraphQL for Delphi documentation

TSchemaInputObjectType Class

Represents a GraphQL input object type.

Syntax

Unit: GraphQL.Schema

TSchemaInputObjectType = class(TSchemaNamedType);

Constructors

Name | Description
Create | Creates the input object type with the specified name.

Methods

Name | Description
FindField | Returns the input field given a specified name.
AddField | Adds a new input field to this type.

Properties

Name | Description
Fields | Provides the collection of input fields in this type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputObjectType.Create Constructor | GraphQL for Delphi documentation

TSchemaInputObjectType.Create Constructor

Creates the input object type with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaInputObjectType.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaInputObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputObjectType.FindField Method | GraphQL for Delphi documentation

TSchemaInputObjectType.FindField Method

Returns the input field given a specified name.

Syntax

Unit: GraphQL.Schema

function TSchemaInputObjectType.FindField(const Name: string): TSchemaInputValue; virtual;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the input field to be returned. If an input field with that name is not found, result is nil.

See also

  • TSchemaInputObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputObjectType.AddField Method | GraphQL for Delphi documentation

TSchemaInputObjectType.AddField Method

Adds a new input field to this type.

Syntax

Unit: GraphQL.Schema

procedure TSchemaInputObjectType.AddField(Field: TSchemaInputValue);

Parameters

<-> | Parameter | Type | Description
 | Field | TSchemaInputValue | The input field to be added. It will be destroyed when the type is destroyed.

See also

  • TSchemaInputObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputObjectType.Fields Property | GraphQL for Delphi documentation

TSchemaInputObjectType.Fields Property

Provides the collection of input fields in this type.

Syntax

Unit: GraphQL.Schema

property TSchemaInputObjectType.Fields: TEnumerable<TSchemaInputValue>

See also

  • TSchemaInputObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue Class | GraphQL for Delphi documentation

TSchemaInputValue Class

Represents a GraphQL input value definition (field argument or input object field).

Syntax

Unit: GraphQL.Schema

TSchemaInputValue = class(TObject);

Constructors

Name Description
Create Overloaded
 Create(string, TSchemaAssignableType)
Create(string, string)

Properties

Name | Description
Name | The name of the input value.
Description | Optional description of the input value.
DefaultValue | The default value of the input value, used when no value is provided.
HasDefaultValue | Indicates if this input value has a default value specified.
ValueType | The type of the input value.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.Create Constructor | GraphQL for Delphi documentation

TSchemaInputValue.Create Constructor

Overloads

  • TSchemaInputValue.Create(string, TSchemaAssignableType)
  • TSchemaInputValue.Create(string, string)

TSchemaInputValue.Create(string, TSchemaAssignableType)

Creates an input value with the specified name and type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaInputValue.Create(const AName: string; AValueType: TSchemaAssignableType);

Parameters

<-> | Parameter | Type | Description
const | AName | string | The name of the input value.
 | AValueType | TSchemaAssignable​Type | The type of the input value.

See also

  • TSchemaInputValue

TSchemaInputValue.Create(string, string)

Creates an input value with the specified name and type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaInputValue.Create(const AName: string; const AValueTypeName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string | The name of the input value.
const | AValueTypeName | string | The type name of the input value.

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.Name Property | GraphQL for Delphi documentation

TSchemaInputValue.Name Property

The name of the input value.

Syntax

Unit: GraphQL.Schema

property TSchemaInputValue.Name: string

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.Description Property | GraphQL for Delphi documentation

TSchemaInputValue.Description Property

Optional description of the input value.

Syntax

Unit: GraphQL.Schema

property TSchemaInputValue.Description: string

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.DefaultValue Property | GraphQL for Delphi documentation

TSchemaInputValue.DefaultValue Property

The default value of the input value, used when no value is provided.

Syntax

Unit: GraphQL.Schema

property TSchemaInputValue.DefaultValue: TValue

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.HasDefaultValue Property | GraphQL for Delphi documentation

TSchemaInputValue.HasDefaultValue Property

Indicates if this input value has a default value specified.

Syntax

Unit: GraphQL.Schema

property TSchemaInputValue.HasDefaultValue: Boolean

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInputValue.ValueType Property | GraphQL for Delphi documentation

TSchemaInputValue.ValueType Property

The type of the input value.

Syntax

Unit: GraphQL.Schema

property TSchemaInputValue.ValueType: TSchemaType

See also

  • TSchemaInputValue
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInterfaceType Class | GraphQL for Delphi documentation

TSchemaInterfaceType Class

Represents a GraphQL interface type.

Syntax

Unit: GraphQL.Schema

TSchemaInterfaceType = class(TSchemaStructuredType);

Constructors

Name | Description
Create | Creates the interface type with the specified name.

Methods

Name | Description
IsPossibleType | Returns true if the specified type implements this interface type.

Properties

Name | Description
PossibleTypes | Returns all the object types in the schema that implement this interface type.
Resolver | Contains the type resolver to be used to resolve (find) the abstract type for the interface.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInterfaceType.Create Constructor | GraphQL for Delphi documentation

TSchemaInterfaceType.Create Constructor

Creates the interface type with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaInterfaceType.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaInterfaceType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInterfaceType.IsPossibleType Method | GraphQL for Delphi documentation

TSchemaInterfaceType.IsPossibleType Method

Returns true if the specified type implements this interface type.

Syntax

Unit: GraphQL.Schema

function TSchemaInterfaceType.IsPossibleType(AType: TSchemaType): Boolean;

Parameters

<-> | Parameter | Type | Description
 | AType | TSchemaType | The schema type which will be verified as a possible implementer of this interface type.

See also

  • TSchemaInterfaceType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInterfaceType.PossibleTypes Property | GraphQL for Delphi documentation

TSchemaInterfaceType.PossibleTypes Property

Returns all the object types in the schema that implement this interface type.

Syntax

Unit: GraphQL.Schema

property TSchemaInterfaceType.PossibleTypes: TEnumerable<TSchemaObjectType>

See also

  • TSchemaInterfaceType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaInterfaceType.Resolver Property | GraphQL for Delphi documentation

TSchemaInterfaceType.Resolver Property

Contains the type resolver to be used to resolve (find) the abstract type for the interface.

Syntax

Unit: GraphQL.Schema

property TSchemaInterfaceType.Resolver: ITypeResolver

See also

  • TSchemaInterfaceType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaIntType Class | GraphQL for Delphi documentation

TSchemaIntType Class

Represents the GraphQL Int type.

Syntax

Unit: GraphQL.Schema

TSchemaIntType = class(TSchemaScalarType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaListType Class | GraphQL for Delphi documentation

TSchemaListType Class

Represents a GraphQL list type.

Syntax

Unit: GraphQL.Schema

TSchemaListType = class(TSchemaAssignableType);

Constructors

Name | Description
Create | Overloaded Create(TSchemaAssignableType) Create(string)

Properties

Name | Description
ItemType | The type if the items in the list.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaListType.Create Constructor | GraphQL for Delphi documentation

TSchemaListType.Create Constructor

Overloads

  • TSchemaListType.Create(TSchemaAssignableType)
  • TSchemaListType.Create(string)

TSchemaListType.Create(TSchemaAssignableType)

Creates a list type with the specified item type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaListType.Create(AItemType: TSchemaAssignableType);

Parameters

<-> | Parameter | Type | Description
 | AItemType | TSchemaAssignable​Type | The type of the items of the list.

See also

  • TSchemaListType

TSchemaListType.Create(string)

Creates a list type with the specified item type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaListType.Create(const AItemTypeName: string);

Parameters

<-> | Parameter | Type | Description
const | AItemTypeName | string | The name of the item type of the list.

See also

  • TSchemaListType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaListType.ItemType Property | GraphQL for Delphi documentation

TSchemaListType.ItemType Property

The type if the items in the list.

Syntax

Unit: GraphQL.Schema

property TSchemaListType.ItemType: TSchemaType

See also

  • TSchemaListType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaNamedType Class | GraphQL for Delphi documentation

TSchemaNamedType Class

Represents a named GraphQL type.

Remarks

Descendants of this class are TSchemaScalarType, TSchemaObjectType, TSchemaInterfaceType, TSchemaUnionType and TSchemaInputObjectType. Instances of named types are only listed and managed in the main TSchemaDocument object, and must be referenced in schema objects only by its name.

Syntax

Unit: GraphQL.Schema

TSchemaNamedType = class(TSchemaType);

Properties

Name | Description
Name | The name of the GraphQL type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaNamedType.Name Property | GraphQL for Delphi documentation

TSchemaNamedType.Name Property

The name of the GraphQL type.

Syntax

Unit: GraphQL.Schema

property TSchemaNamedType.Name: string

See also

  • TSchemaNamedType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaNonNullType Class | GraphQL for Delphi documentation

TSchemaNonNullType Class

Represents a GraphQL non-null type.

Syntax

Unit: GraphQL.Schema

TSchemaNonNullType = class(TSchemaAssignableType);

Constructors

Name | Description
Create | Overloaded Create(TSchemaAssignableType) Create(string)

Properties

Name | Description
NullableType | The underlying nullable type wrapped by this non-null type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaNonNullType.Create Constructor | GraphQL for Delphi documentation

TSchemaNonNullType.Create Constructor

Overloads

  • TSchemaNonNullType.Create(TSchemaAssignableType)
  • TSchemaNonNullType.Create(string)

TSchemaNonNullType.Create(TSchemaAssignableType)

Creates a non-nullable type wrapping the underlying nullable type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaNonNullType.Create(ANullableType: TSchemaAssignableType);

Parameters

<-> | Parameter | Type | Description
 | ANullableType | TSchemaAssignable​Type | The underlying type for which a non-nullable type will be created.

See also

  • TSchemaNonNullType

TSchemaNonNullType.Create(string)

Creates a non-nullable type wrapping the underlying nullable type.

Syntax

Unit: GraphQL.Schema

constructor TSchemaNonNullType.Create(const ANullableTypeName: string);

Parameters

<-> | Parameter | Type | Description
const | ANullableTypeName | string | The name of the underlying type for which a non-nullable type will be created.

See also

  • TSchemaNonNullType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaNonNullType.NullableType Property | GraphQL for Delphi documentation

TSchemaNonNullType.NullableType Property

The underlying nullable type wrapped by this non-null type.

Syntax

Unit: GraphQL.Schema

property TSchemaNonNullType.NullableType: TSchemaType

See also

  • TSchemaNonNullType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaObjectType Class | GraphQL for Delphi documentation

TSchemaObjectType Class

Represents a GraphQL object type.

Syntax

Unit: GraphQL.Schema

TSchemaObjectType = class(TSchemaStructuredType);

Constructors

Name | Description
Create | Creates the object type with the specified name.

Methods

Name | Description
AddInterface​Reference | Adds the specified interface type as one of the interfaces implemented by this object type.

Properties

Name | Description
Interfaces | Returns the interface types implemented by this object type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaObjectType.Create Constructor | GraphQL for Delphi documentation

TSchemaObjectType.Create Constructor

Creates the object type with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaObjectType.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaObjectType.AddInterfaceReference Method | GraphQL for Delphi documentation

TSchemaObjectType.AddInterfaceReference Method

Adds the specified interface type as one of the interfaces implemented by this object type.

Syntax

Unit: GraphQL.Schema

procedure TSchemaObjectType.AddInterfaceReference(const ATypeName: string);

Parameters

<-> | Parameter | Type | Description
const | ATypeName | string | The name of the interface type to be added to the list of implemented interfaces.

See also

  • TSchemaObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaObjectType.Interfaces Property | GraphQL for Delphi documentation

TSchemaObjectType.Interfaces Property

Returns the interface types implemented by this object type.

Syntax

Unit: GraphQL.Schema

property TSchemaObjectType.Interfaces: TEnumerable<TSchemaInterfaceType>

See also

  • TSchemaObjectType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaScalarType Class | GraphQL for Delphi documentation

TSchemaScalarType Class

Represents a GraphQL scalar type. Ancestor of concrete scalar implementations.

Remarks

This is the ancestor abstrcat class of concrete implementations of scalar types. Descendants of this type are TSchemaIntType, TSchemaFloatType, TSchemaStringType, TSchemaBooleanType, TSchemaIDType and TSchemaEnumType.

Syntax

Unit: GraphQL.Schema

TSchemaScalarType = class(TSchemaNamedType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaStringType Class | GraphQL for Delphi documentation

TSchemaStringType Class

Represents the GraphQL String type.

Syntax

Unit: GraphQL.Schema

TSchemaStringType = class(TSchemaScalarType);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaStructuredType Class | GraphQL for Delphi documentation

TSchemaStructuredType Class

Base class for structure output type, which can be either a TSchemaObjectType or an TSchemaInterfaceType.

Syntax

Unit: GraphQL.Schema

TSchemaStructuredType = class(TSchemaNamedType);

Methods

Name | Description
FindField | Returns the field given a specified name.
AddField | Adds a new field to this type.

Properties

Name | Description
Fields | Provides the collection of fields in this type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaStructuredType.FindField Method | GraphQL for Delphi documentation

TSchemaStructuredType.FindField Method

Returns the field given a specified name.

Syntax

Unit: GraphQL.Schema

function TSchemaStructuredType.FindField(const Name: string): TSchemaField; virtual;

Parameters

<-> | Parameter | Type | Description
const | Name | string | The name of the field to be returned. If a field with that name is not found, result is nil.

See also

  • TSchemaStructuredType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaStructuredType.AddField Method | GraphQL for Delphi documentation

TSchemaStructuredType.AddField Method

Adds a new field to this type.

Syntax

Unit: GraphQL.Schema

procedure TSchemaStructuredType.AddField(Field: TSchemaField);

Parameters

<-> | Parameter | Type | Description
 | Field | TSchemaField | The field to be added. It will be destroyed when the type is destroyed.

See also

  • TSchemaStructuredType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaStructuredType.Fields Property | GraphQL for Delphi documentation

TSchemaStructuredType.Fields Property

Provides the collection of fields in this type.

Syntax

Unit: GraphQL.Schema

property TSchemaStructuredType.Fields: TEnumerable<TSchemaField>

See also

  • TSchemaStructuredType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaType Class | GraphQL for Delphi documentation

TSchemaType Class

The ancestor of all classes that represent a GraphQL type.

Syntax

Unit: GraphQL.Schema

TSchemaType = class(TObject);

Methods

Name | Description
IsInputType | Indicates if the type is an input type.
IsOutputType | Indicates if the type is an output type.

Properties

Name | Description
DisplayName | Returns a user-friendly name for the type.
Description | Holds the optional description for the type.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaType.IsInputType Method | GraphQL for Delphi documentation

TSchemaType.IsInputType Method

Indicates if the type is an input type.

Syntax

Unit: GraphQL.Schema

function TSchemaType.IsInputType: Boolean; virtual;

See also

  • TSchemaType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaType.IsOutputType Method | GraphQL for Delphi documentation

TSchemaType.IsOutputType Method

Indicates if the type is an output type.

Syntax

Unit: GraphQL.Schema

function TSchemaType.IsOutputType: Boolean; virtual;

See also

  • TSchemaType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaType.DisplayName Property | GraphQL for Delphi documentation

TSchemaType.DisplayName Property

Returns a user-friendly name for the type.

Syntax

Unit: GraphQL.Schema

property TSchemaType.DisplayName: string

See also

  • TSchemaType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaType.Description Property | GraphQL for Delphi documentation

TSchemaType.Description Property

Holds the optional description for the type.

Syntax

Unit: GraphQL.Schema

property TSchemaType.Description: string

See also

  • TSchemaType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType Class | GraphQL for Delphi documentation

TSchemaUnionType Class

Represents a GraphQL union type.

Syntax

Unit: GraphQL.Schema

TSchemaUnionType = class(TSchemaNamedType);

Constructors

Name | Description
Create | Creates the union type with the specified name.

Methods

Name | Description
AddMemberType | Adds the specified type as one member of this union type.
IsMemberType | Returns true if the specified type belongs to the union type.

Properties

Name | Description
MemberTypes | Returns all the object types in the schema that belong to this union type.
Resolver | Contains the type resolver to be used to resolve (find) the abstract type for the union.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType.Create Constructor | GraphQL for Delphi documentation

TSchemaUnionType.Create Constructor

Creates the union type with the specified name.

Syntax

Unit: GraphQL.Schema

constructor TSchemaUnionType.Create(const AName: string);

Parameters

<-> | Parameter | Type | Description
const | AName | string |

See also

  • TSchemaUnionType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType.AddMemberType Method | GraphQL for Delphi documentation

TSchemaUnionType.AddMemberType Method

Adds the specified type as one member of this union type.

Syntax

Unit: GraphQL.Schema

procedure TSchemaUnionType.AddMemberType(const ATypeName: string);

Parameters

<-> | Parameter | Type | Description
const | ATypeName | string | The name of the type to be added to the list of union members.

See also

  • TSchemaUnionType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType.IsMemberType Method | GraphQL for Delphi documentation

TSchemaUnionType.IsMemberType Method

Returns true if the specified type belongs to the union type.

Syntax

Unit: GraphQL.Schema

function TSchemaUnionType.IsMemberType(AType: TSchemaType): Boolean;

Parameters

<-> | Parameter | Type | Description
 | AType | TSchemaType | The schema type which will be verified as a possible member of this union type.

See also

  • TSchemaUnionType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType.MemberTypes Property | GraphQL for Delphi documentation

TSchemaUnionType.MemberTypes Property

Returns all the object types in the schema that belong to this union type.

Syntax

Unit: GraphQL.Schema

property TSchemaUnionType.MemberTypes: TEnumerable<TSchemaObjectType>

See also

  • TSchemaUnionType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaUnionType.Resolver Property | GraphQL for Delphi documentation

TSchemaUnionType.Resolver Property

Contains the type resolver to be used to resolve (find) the abstract type for the union.

Syntax

Unit: GraphQL.Schema

property TSchemaUnionType.Resolver: ITypeResolver

See also

  • TSchemaUnionType
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs Class | GraphQL for Delphi documentation

TTypeResolverArgs Class

The arguments passed to the type resolver for resolving the abstract type of an union of interface type.

Syntax

Unit: GraphQL.Schema

TTypeResolverArgs = class(TObject);

Properties

Name | Description
Root | The root value (initial value) of the GraphQL execution.
Source | Contains the object value (source) which is being resolved.
Schema | A reference to the schema document used in the current GraphQL execution.
UnionType | The union type being resolved.
InterfaceType | The interface type being resolved.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs.Root Property | GraphQL for Delphi documentation

TTypeResolverArgs.Root Property

The root value (initial value) of the GraphQL execution.

Remarks

Conceptually, an initial value represents the "universe" of data available via a GraphQL Service.

Syntax

Unit: GraphQL.Schema

property TTypeResolverArgs.Root: TValue

See also

  • TTypeResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs.Source Property | GraphQL for Delphi documentation

TTypeResolverArgs.Source Property

Contains the object value (source) which is being resolved.

Remarks

Conceptually, the source corresponds to the objectValue parameter for the ResolveAbstractType algorithm in the GraphQL specification. In practical terms, it's usually the object instance which actually represents the interface or union.

Syntax

Unit: GraphQL.Schema

property TTypeResolverArgs.Source: TValue

See also

  • TTypeResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs.Schema Property | GraphQL for Delphi documentation

TTypeResolverArgs.Schema Property

A reference to the schema document used in the current GraphQL execution.

Syntax

Unit: GraphQL.Schema

property TTypeResolverArgs.Schema: TSchemaDocument

See also

  • TTypeResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs.UnionType Property | GraphQL for Delphi documentation

TTypeResolverArgs.UnionType Property

The union type being resolved.

Syntax

Unit: GraphQL.Schema

property TTypeResolverArgs.UnionType: TSchemaUnionType

See also

  • TTypeResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverArgs.InterfaceType Property | GraphQL for Delphi documentation

TTypeResolverArgs.InterfaceType Property

The interface type being resolved.

Syntax

Unit: GraphQL.Schema

property TTypeResolverArgs.InterfaceType: TSchemaInterfaceType

See also

  • TTypeResolverArgs
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IFieldResolver Interface | GraphQL for Delphi documentation

IFieldResolver Interface

A field resolver returns a value for a given field within a graph.

Remarks

The TSchemaField.Resolver property defines the field resolver to be used for the field.

Syntax

Unit: GraphQL.Schema

IFieldResolver = interface(IInterface);

Methods

Name | Description
Resolve | Returns aa value for the specified field.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IFieldResolver.Resolve Method | GraphQL for Delphi documentation

IFieldResolver.Resolve Method

Returns aa value for the specified field.

Syntax

Unit: GraphQL.Schema

function IFieldResolver.Resolve(Args: TFieldResolverArgs): TValue; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
 | Args | TFieldResolverArgs |

See also

  • IFieldResolver
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


ITypeResolver Interface | GraphQL for Delphi documentation

ITypeResolver Interface

A type resolver returns the schema object type being used to implement a give interface or union.

Remarks

The TSchemaInterfaceType.Resolver and TSchemaUnionType.Resolver properties define the type resolver to be used for the types.

Syntax

Unit: GraphQL.Schema

ITypeResolver = interface(IInterface);

Methods

Name | Description
Resolve | Returns the schema object type which implements the specified union or interface.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


ITypeResolver.Resolve Method | GraphQL for Delphi documentation

ITypeResolver.Resolve Method

Returns the schema object type which implements the specified union or interface.

Syntax

Unit: GraphQL.Schema

function ITypeResolver.Resolve(Args: TTypeResolverArgs): TSchemaObjectType; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
 | Args | TTypeResolverArgs |

See also

  • ITypeResolver
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentClass Class Reference | GraphQL for Delphi documentation

TSchemaDocumentClass Class Reference

A type representing a TSchemaDocument class.

Syntax

Unit: GraphQL.Schema

TSchemaDocumentClass = class of TSchemaDocument;
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TFieldResolverFunc Anonymous method | GraphQL for Delphi documentation

TFieldResolverFunc Anonymous method

The function type of a field resolver. A function of this type is executed to resolve a field.

Syntax

Unit: GraphQL.Schema

TFieldResolverFunc = reference to function(Args: TFieldResolverArgs): TValue;
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TSchemaDocumentProc Anonymous method | GraphQL for Delphi documentation

TSchemaDocumentProc Anonymous method

An event type that receives a schema document when fired.

Syntax

Unit: GraphQL.Schema

TSchemaDocumentProc = reference to procedure(Schema: TSchemaDocument);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TTypeResolverFunc Anonymous method | GraphQL for Delphi documentation

TTypeResolverFunc Anonymous method

The function type of a type resolver. A function of this type is executed to resolve a type.

Syntax

Unit: GraphQL.Schema

TTypeResolverFunc = reference to function(Args: TTypeResolverArgs): TSchemaObjectType;
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Types Namespace | GraphQL for Delphi documentation

GraphQL.Types Namespace

Classes

Name | Description
TGraphQLList | Concrete class that implements an IGraphQLList interface.
TGraphQLMap | Concrete class that implements an IGraphQLMap interface.

Interfaces

Name | Description
IGraphQLList | Represents an ordered collection of values.
IGraphQLMap | Represents a map of key/value pairs that are accessible by the key or index.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLList Class | GraphQL for Delphi documentation

TGraphQLList Class

Concrete class that implements an IGraphQLList interface.

Syntax

Unit: GraphQL.Types

TGraphQLList = class(TInterfacedObject, IGraphQLList);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLMap Class | GraphQL for Delphi documentation

TGraphQLMap Class

Concrete class that implements an IGraphQLMap interface.

Syntax

Unit: GraphQL.Types

TGraphQLMap = class(TInterfacedObject, IGraphQLMap);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLList Interface | GraphQL for Delphi documentation

IGraphQLList Interface

Represents an ordered collection of values.

Remarks

This is the main type that represents a GraphQL list. Whenever you need to represent lists in GraphQL you should use this interface. Whenever the framework provides you with GraphQL information that contains a list, it will be represented as this interface.

Syntax

Unit: GraphQL.Types

IGraphQLList = interface(IInterface);

Methods

Name | Description
GetItem | Returns the element at the specified index.
Add | Adds a value to the end of the list.
Count | Returns the number of items in the list

Properties

Name | Description
Items[Index] | Returns the element at the specified index.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLList.GetItem Method | GraphQL for Delphi documentation

IGraphQLList.GetItem Method

Returns the element at the specified index.

Syntax

Unit: GraphQL.Types

function IGraphQLList.GetItem(Index: Integer): TValue; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
 | Index | Integer |

See also

  • IGraphQLList
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLList.Add Method | GraphQL for Delphi documentation

IGraphQLList.Add Method

Adds a value to the end of the list.

Syntax

Unit: GraphQL.Types

procedure IGraphQLList.Add(const Value: TValue); virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Value | TValue |

See also

  • IGraphQLList
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLList.Count Method | GraphQL for Delphi documentation

IGraphQLList.Count Method

Returns the number of items in the list

Syntax

Unit: GraphQL.Types

function IGraphQLList.Count: Integer; virtual; abstract;

See also

  • IGraphQLList
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLList.Items[Index] Property | GraphQL for Delphi documentation

IGraphQLList.Items[Index] Property

Returns the element at the specified index.

Syntax

Unit: GraphQL.Types

property IGraphQLList.Items[Index]: TValue

See also

  • IGraphQLList
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap Interface | GraphQL for Delphi documentation

IGraphQLMap Interface

Represents a map of key/value pairs that are accessible by the key or index.

Remarks

This is the main type that represents a GraphQL map. Whenever you need to represent a mapped value in GraphQL you should use this interface. Whenever the framework provides you with GraphQL information that represents a map, it will be represented as this interface.

Syntax

Unit: GraphQL.Types

IGraphQLMap = interface(IInterface);

Methods

Name | Description
GetItem | Gets the value associated with the specified key.
GetKey | Returns the Key value at the specified index.
GetValue | Returns the value at the specified index.
Add | Adds or sets a value associated with the specified key.
Contains | Returns true if the map contains the specified key. False otherwise.
Count | Returns the number of items (key/value pairs) in the map.

Properties

Name | Description
Items[const Key] | Gets the value associated with the specified key.
Keys[Index] | Returns the Key value at the specified index.
Values[Index] | Returns the value at the specified index.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.GetItem Method | GraphQL for Delphi documentation

IGraphQLMap.GetItem Method

Gets the value associated with the specified key.

Remarks

Behavior is different from regular dictionary: if the Key does not exist, an empty value is returned, and no exception is raised.

Syntax

Unit: GraphQL.Types

function IGraphQLMap.GetItem(const Key: string): TValue; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Key | string |

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.GetKey Method | GraphQL for Delphi documentation

IGraphQLMap.GetKey Method

Returns the Key value at the specified index.

Remarks

The GraphQL map is ordered. This property returns the key string value stored at the specified index position.

Syntax

Unit: GraphQL.Types

function IGraphQLMap.GetKey(Index: Integer): string; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
 | Index | Integer |

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.GetValue Method | GraphQL for Delphi documentation

IGraphQLMap.GetValue Method

Returns the value at the specified index.

Remarks

The GraphQL map is ordered. This property returns the value stored at the specified index position.

Syntax

Unit: GraphQL.Types

function IGraphQLMap.GetValue(Index: Integer): TValue; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
 | Index | Integer |

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Add Method | GraphQL for Delphi documentation

IGraphQLMap.Add Method

Adds or sets a value associated with the specified key.

Remarks

Behavior is different from regular dictionary: if the Key does not exist, it will be created. If the Key already exists, it will replace the existing value by the new one. No exception is raised.

Syntax

Unit: GraphQL.Types

procedure IGraphQLMap.Add(const Key: string; const Value: TValue); virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Key | string |
const | Value | TValue |

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Contains Method | GraphQL for Delphi documentation

IGraphQLMap.Contains Method

Returns true if the map contains the specified key. False otherwise.

Syntax

Unit: GraphQL.Types

function IGraphQLMap.Contains(const Key: string): Boolean; virtual; abstract;

Parameters

<-> | Parameter | Type | Description
const | Key | string |

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Count Method | GraphQL for Delphi documentation

IGraphQLMap.Count Method

Returns the number of items (key/value pairs) in the map.

Syntax

Unit: GraphQL.Types

function IGraphQLMap.Count: Integer; virtual; abstract;

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Items[const Key] Property | GraphQL for Delphi documentation

IGraphQLMap.Items[const Key] Property

Gets the value associated with the specified key.

Remarks

Behavior is different from regular dictionary: if the Key does not exist, an empty value is returned, and no exception is raised.

Syntax

Unit: GraphQL.Types

property IGraphQLMap.Items[const Key]: TValue

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Keys[Index] Property | GraphQL for Delphi documentation

IGraphQLMap.Keys[Index] Property

Returns the Key value at the specified index.

Remarks

The GraphQL map is ordered. This property returns the key string value stored at the specified index position.

Syntax

Unit: GraphQL.Types

property IGraphQLMap.Keys[Index]: string

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


IGraphQLMap.Values[Index] Property | GraphQL for Delphi documentation

IGraphQLMap.Values[Index] Property

Returns the value at the specified index.

Remarks

The GraphQL map is ordered. This property returns the value stored at the specified index position.

Syntax

Unit: GraphQL.Types

property IGraphQLMap.Values[Index]: TValue

See also

  • IGraphQLMap
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Validator.Operation Namespace | GraphQL for Delphi documentation

GraphQL.Validator.Operation Namespace

Classes

Name | Description
TGraphQLOperation​Validator | Validates if a specific GraphQL operation definition is spec-compliant.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLOperationValidator Class | GraphQL for Delphi documentation

TGraphQLOperationValidator Class

Validates if a specific GraphQL operation definition is spec-compliant.

Syntax

Unit: GraphQL.Validator.Operation

TGraphQLOperationValidator = class(TObject);
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.Validator Namespace | GraphQL for Delphi documentation

GraphQL.Validator Namespace

Classes

Name | Description
TGraphQLValidator | Validates if a GraphQL document that contains operations definitions is spec-compliant.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLValidator Class | GraphQL for Delphi documentation

TGraphQLValidator Class

Validates if a GraphQL document that contains operations definitions is spec-compliant.

Syntax

Unit: GraphQL.Validator

TGraphQLValidator = class(TObject);

Constructors

Name | Description
Create | Creates a new validator instance, passing the schema used to validate and the document to be validated.

Methods

Name | Description
Execute | Performs the document validation.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLValidator.Create Constructor | GraphQL for Delphi documentation

TGraphQLValidator.Create Constructor

Creates a new validator instance, passing the schema used to validate and the document to be validated.

Syntax

Unit: GraphQL.Validator

constructor TGraphQLValidator.Create(ASchema: TSchemaDocument; ADocument: TASTDocument);

Parameters

<-> | Parameter | Type | Description
 | ASchema | TSchemaDocument | The schema document used to validate the document.
 | ADocument | TASTDocument | The GraphQL document to be validated.

See also

  • TGraphQLValidator
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLValidator.Execute Method | GraphQL for Delphi documentation

TGraphQLValidator.Execute Method

Performs the document validation.

Syntax

Unit: GraphQL.Validator

function TGraphQLValidator.Execute(AErrors: TList<TGraphQLError>): Boolean;

Parameters

<-> | Parameter | Type | Description
 | AErrors | TList<TGraphQLError> | A list of errors that will be filled by the validator, if any error is encountered during validation.

Returns

The execution returns true if the validation is successful, false otherwise. If the validation fails (false), the error list will contain the validation errors found.

See also

  • TGraphQLValidator
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL.WebBroker Namespace | GraphQL for Delphi documentation

GraphQL.WebBroker Namespace

Classes

Name | Description
TGraphQLWebBroker​Dispatcher | The component to be used in a WebBroker application to process GraphQL HTTP requests.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLWebBrokerDispatcher Class | GraphQL for Delphi documentation

TGraphQLWebBrokerDispatcher Class

The component to be used in a WebBroker application to process GraphQL HTTP requests.

Remarks

Use TGraphQLWebBrokerDispatcher component to add GraphQL capabilities to a Web Broker application. When you drop this component in a data module descending from TWebModule, it will automatically process any GraphQL HTTP requests arriving at the endpoint specified by Endpoint property (which is "graphql/" by default). You need to associate a TGraphQLSchema component to the Schema property. Such GraphQL schema will be used to process the requests. You can also use Options property to better configure the GraphQL server behavior, for example, enabling GraphQL Playground by setting the TGraphQLHttpOptions.PlaygroundEnabled to true.

Syntax

Unit: GraphQL.WebBroker

TGraphQLWebBrokerDispatcher = class(TComponent, IWebDispatch);

Methods

Name | Description
CurrentSchema | Returns the schema document used by the GraphQL server.

Properties

Name | Description
Endpoint | Specifies the endpoint of the GraphQL server. Default is "graphql/".
Options | Provides a set of options you can use to customize the GraphQL server.
Schema | The associated schema component which will provide the schema document used by the server. This property is required.
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLWebBrokerDispatcher.CurrentSchema Method | GraphQL for Delphi documentation

TGraphQLWebBrokerDispatcher.CurrentSchema Method

Returns the schema document used by the GraphQL server.

Syntax

Unit: GraphQL.WebBroker

function TGraphQLWebBrokerDispatcher.CurrentSchema: TSchemaDocument;

See also

  • TGraphQLWebBrokerDispatcher
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLWebBrokerDispatcher.Endpoint Property | GraphQL for Delphi documentation

TGraphQLWebBrokerDispatcher.Endpoint Property

Specifies the endpoint of the GraphQL server. Default is "graphql/".

Syntax

Unit: GraphQL.WebBroker

property TGraphQLWebBrokerDispatcher.Endpoint: string

See also

  • TGraphQLWebBrokerDispatcher
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLWebBrokerDispatcher.Options Property | GraphQL for Delphi documentation

TGraphQLWebBrokerDispatcher.Options Property

Provides a set of options you can use to customize the GraphQL server.

Syntax

Unit: GraphQL.WebBroker

property TGraphQLWebBrokerDispatcher.Options: TGraphQLHttpOptions

See also

  • TGraphQLWebBrokerDispatcher
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


TGraphQLWebBrokerDispatcher.Schema Property | GraphQL for Delphi documentation

TGraphQLWebBrokerDispatcher.Schema Property

The associated schema component which will provide the schema document used by the server. This property is required.

Syntax

Unit: GraphQL.WebBroker

property TGraphQLWebBrokerDispatcher.Schema: TGraphQLSchema

See also

  • TGraphQLWebBrokerDispatcher
In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


Download | GraphQL for Delphi documentation

Download

GraphQL for Delphi is distributed and supported by TMS Software. For detailed information about support, downloads, licensing, editions, and, in summary to get answers to any questions you might have regarding GraphQL for Delphi, you can refer to the link below:

GraphQL for Delphi official page at TMS Software

GraphQL for Delphi installer download links

You can use GraphQL for Delphi starting in Delphi 10 Seattle and up to the latest Delphi versions. It has two different distributions: Free Edition and the Registered Edition.

You can download the installers for Free Edition right away from GraphQL for Delphi download page. Alternatively you can click the following download links directly:

  • Delphi 13 Florence
  • Delphi 12 Athens
  • Delphi 11 Alexandria
  • Delphi 10.4 Sydney
  • Delphi 10.3 Rio
  • Delphi 10.2 Tokyo
  • Delphi 10.1 Berlin
  • Delphi 10 Seattle

Just download and run the installer for the Delphi version you use.

GraphQL for Delphi is also available in GetIt. Go to Delphi menu option Tools | GetIt Package Manager... and search for graphql. Select GraphQL for Delphi from the list of available filtered packages and click "Install".

Installers for Registered Edition are made available directly from customer area of TMS Software web site. You can purchase a Registered Edition license directly from the GraphQL for Delphi page at TMS Software. The page also provides a comparison table displaying the differences between the Free Edition and Registered Edition.

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com


GraphQL for Delphi | GraphQL for Delphi documentation

GraphQL for Delphi

In This Article
Back to top GraphQL for Delphi v1.5.0.2
© 2021 - 2025 tmssoftware.com