Class SchemaUtils

java.lang.Object
org.craftercms.engine.graphql.SchemaUtils

public abstract class SchemaUtils extends Object
Utility objects & methods for building the GraphQL Schema
Since:
3.1
Author:
joseross
  • Field Details

    • ARG_NAME_SORT_BY

      public static final String ARG_NAME_SORT_BY
      See Also:
    • ARG_NAME_SORT_ORDER

      public static final String ARG_NAME_SORT_ORDER
      See Also:
    • ARG_NAME_OFFSET

      public static final String ARG_NAME_OFFSET
      See Also:
    • ARG_NAME_LIMIT

      public static final String ARG_NAME_LIMIT
      See Also:
    • ARG_NAME_EQUALS

      public static final String ARG_NAME_EQUALS
      See Also:
    • ARG_NAME_MATCHES

      public static final String ARG_NAME_MATCHES
      See Also:
    • ARG_NAME_REGEX

      public static final String ARG_NAME_REGEX
      See Also:
    • ARG_NAME_LT

      public static final String ARG_NAME_LT
      See Also:
    • ARG_NAME_GT

      public static final String ARG_NAME_GT
      See Also:
    • ARG_NAME_LTE

      public static final String ARG_NAME_LTE
      See Also:
    • ARG_NAME_GTE

      public static final String ARG_NAME_GTE
      See Also:
    • ARG_NAME_EXISTS

      public static final String ARG_NAME_EXISTS
      See Also:
    • ARG_NAME_NOT

      public static final String ARG_NAME_NOT
      See Also:
    • ARG_NAME_OR

      public static final String ARG_NAME_OR
      See Also:
    • ARG_NAME_AND

      public static final String ARG_NAME_AND
      See Also:
    • ARG_NAME_TRANSFORM

      public static final String ARG_NAME_TRANSFORM
      See Also:
    • STRING_FILTER_NAME

      public static final String STRING_FILTER_NAME
      See Also:
    • TEXT_FILTER_NAME

      public static final String TEXT_FILTER_NAME
      See Also:
    • BOOLEAN_FILTER_NAME

      public static final String BOOLEAN_FILTER_NAME
      See Also:
    • INT_FILTER_NAME

      public static final String INT_FILTER_NAME
      See Also:
    • FLOAT_FILTER_NAME

      public static final String FLOAT_FILTER_NAME
      See Also:
    • LONG_FILTER_NAME

      public static final String LONG_FILTER_NAME
      See Also:
    • DATETIME_FILTER_NAME

      public static final String DATETIME_FILTER_NAME
      See Also:
    • FIELD_SEPARATOR

      public static final String FIELD_SEPARATOR
      See Also:
    • FIELD_NAME_CONTENT_ITEMS

      public static final String FIELD_NAME_CONTENT_ITEMS
      See Also:
    • FIELD_NAME_PAGES

      public static final String FIELD_NAME_PAGES
      See Also:
    • FIELD_NAME_COMPONENTS

      public static final String FIELD_NAME_COMPONENTS
      See Also:
    • FIELD_NAME_CONTENT_TYPE

      public static final String FIELD_NAME_CONTENT_TYPE
    • FIELD_NAME_ITEM

      public static final String FIELD_NAME_ITEM
      See Also:
    • FIELD_NAME_ITEMS

      public static final String FIELD_NAME_ITEMS
      See Also:
    • FIELD_NAME_TOTAL

      public static final String FIELD_NAME_TOTAL
      See Also:
    • FIELD_NAME_KEY

      public static final String FIELD_NAME_KEY
      See Also:
    • FIELD_NAME_VALUE

      public static final String FIELD_NAME_VALUE
      See Also:
    • FIELD_NAME_SELECTED

      public static final String FIELD_NAME_SELECTED
      See Also:
    • FIELD_NAME_COMPONENT

      public static final String FIELD_NAME_COMPONENT
      See Also:
    • FIELD_SUFFIX_ITEM

      public static final String FIELD_SUFFIX_ITEM
      See Also:
    • FIELD_SUFFIX_ITEMS

      public static final String FIELD_SUFFIX_ITEMS
      See Also:
    • FIELD_SUFFIX_QUERY

      public static final String FIELD_SUFFIX_QUERY
      See Also:
    • FIELD_SUFFIX_RAW

      public static final String FIELD_SUFFIX_RAW
      See Also:
    • FIELD_SUFFIX_TZ

      public static final String FIELD_SUFFIX_TZ
      See Also:
    • FIELD_SUFFIX_TOKENIZED

      public static final String FIELD_SUFFIX_TOKENIZED
      See Also:
    • FIELD_SUFFIX_MULTIVALUE

      public static final String FIELD_SUFFIX_MULTIVALUE
      See Also:
    • FILTER_NAME

      public static final String FILTER_NAME
      See Also:
    • FILTER_DESCRIPTION

      public static final String FILTER_DESCRIPTION
      See Also:
    • ORDER_ENUM

      public static final graphql.schema.GraphQLEnumType ORDER_ENUM
    • TYPE_ARGUMENTS

      public static final List<graphql.schema.GraphQLArgument> TYPE_ARGUMENTS
    • TRANSFORM_ARG

      public static final graphql.schema.GraphQLArgument TRANSFORM_ARG
    • STRING_FILTER

      public static final graphql.schema.GraphQLArgument STRING_FILTER
    • TEXT_FILTER

      public static final graphql.schema.GraphQLArgument TEXT_FILTER
    • BOOLEAN_FILTER

      public static final graphql.schema.GraphQLArgument BOOLEAN_FILTER
    • INT_FILTER

      public static final graphql.schema.GraphQLArgument INT_FILTER
    • FLOAT_FILTER

      public static final graphql.schema.GraphQLArgument FLOAT_FILTER
    • LONG_FILTER

      public static final graphql.schema.GraphQLArgument LONG_FILTER
    • DATETIME_FILTER

      public static final graphql.schema.GraphQLArgument DATETIME_FILTER
    • CONTENT_ITEM_FIELDS

      public static final List<graphql.schema.GraphQLFieldDefinition> CONTENT_ITEM_FIELDS
    • PAGE_FIELDS

      public static final List<graphql.schema.GraphQLFieldDefinition> PAGE_FIELDS
    • CONTENT_ITEM_INTERFACE_TYPE

      public static final graphql.schema.GraphQLInterfaceType CONTENT_ITEM_INTERFACE_TYPE
    • PAGE_INTERFACE_TYPE

      public static final graphql.schema.GraphQLInterfaceType PAGE_INTERFACE_TYPE
    • ITEM_INCLUDE_TYPE

      public static final graphql.schema.GraphQLObjectType ITEM_INCLUDE_TYPE
    • ITEM_INCLUDE_WRAPPER_TYPE

      public static final graphql.schema.GraphQLObjectType ITEM_INCLUDE_WRAPPER_TYPE
    • CONTENT_INCLUDE_TYPE

      public static final graphql.schema.GraphQLObjectType CONTENT_INCLUDE_TYPE
    • CONTENT_INCLUDE_WRAPPER_TYPE

      public static final graphql.schema.GraphQLObjectType CONTENT_INCLUDE_WRAPPER_TYPE
    • CONTENT_TYPE_BASED_TYPE_RESOLVER

      public static final graphql.schema.TypeResolver CONTENT_TYPE_BASED_TYPE_RESOLVER
  • Constructor Details

    • SchemaUtils

      public SchemaUtils()
  • Method Details

    • getGraphQLName

      public static String getGraphQLName(String name)
      Returns a GraphQL-friendly name
    • getContentTypeOriginalName

      public static String getContentTypeOriginalName(String graphQLName)
      Returns the original name from a GraphQL-friendly content type id
      Parameters:
      graphQLName - the GraphQL-friendly content type id
      Returns:
      the original content type name
    • getOriginalName

      public static String getOriginalName(String graphQLName)
      Returns the original name from a GraphQL-friendly one This is a simplified version of getContentTypeOriginalName that works for field names like title_s
    • setTypeFromFieldName

      public static void setTypeFromFieldName(String fieldName, graphql.schema.GraphQLFieldDefinition.Builder field)
      Tries to set the type of a field based on its name suffix
    • createQueryWrapperType

      public static graphql.schema.GraphQLType createQueryWrapperType(String namePrefix, String description)
      Creates a query wrapper type (with total and list of items) using a reference to a type
    • createQueryWrapperType

      public static graphql.schema.GraphQLType createQueryWrapperType(String namePrefix, graphql.schema.GraphQLType wrappedType, String description)
      Creates a query wrapper type (with total and list of items) for an actual type