Class DataFetchingFieldSelectionSetImpl

java.lang.Object
graphql.schema.DataFetchingFieldSelectionSetImpl
All Implemented Interfaces:
DataFetchingFieldSelectionSet

public class DataFetchingFieldSelectionSetImpl extends Object implements DataFetchingFieldSelectionSet
  • Method Details

    • newCollector

      public static DataFetchingFieldSelectionSet newCollector(GraphQLSchema schema, GraphQLOutputType fieldType, Supplier<ExecutableNormalizedField> normalizedFieldSupplier)
    • contains

      public boolean contains(String fieldGlobPattern)
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return true if the field selection set matches a specified "glob" pattern matching ie the glob pattern matching supported by FileSystem.getPathMatcher(java.lang.String).

      This will allow you to use '*', '**' and '?' as special matching characters such that "invoice/customer*" would match an invoice field with child fields that start with 'customer'.

      Specified by:
      contains in interface DataFetchingFieldSelectionSet
      Parameters:
      fieldGlobPattern - the glob pattern to match fields against
      Returns:
      true if the selection set contains these fields
      See Also:
    • containsAnyOf

      public boolean containsAnyOf(String fieldGlobPattern, String... fieldGlobPatterns)
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return true if the field selection set matches any of the specified "glob" pattern matches ie the glob pattern matching supported by FileSystem.getPathMatcher(java.lang.String).

      This will allow you to use '*', '**' and '?' as special matching characters such that "invoice/customer*" would match an invoice field with child fields that start with 'customer'.

      Specified by:
      containsAnyOf in interface DataFetchingFieldSelectionSet
      Parameters:
      fieldGlobPattern - the glob pattern to match fields against
      fieldGlobPatterns - optionally more glob pattern to match fields against
      Returns:
      true if the selection set contains any of these these fields
      See Also:
    • containsAllOf

      public boolean containsAllOf(String fieldGlobPattern, String... fieldGlobPatterns)
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return true if the field selection set matches all of the specified "glob" pattern matches ie the glob pattern matching supported by FileSystem.getPathMatcher(java.lang.String).

      This will allow you to use '*', '**' and '?' as special matching characters such that "invoice/customer*" would match an invoice field with child fields that start with 'customer'.

      Specified by:
      containsAllOf in interface DataFetchingFieldSelectionSet
      Parameters:
      fieldGlobPattern - the glob pattern to match fields against
      fieldGlobPatterns - optionally more glob pattern to match fields against
      Returns:
      true if the selection set contains all of these these fields
      See Also:
    • getFields

      public List<SelectedField> getFields(String fieldGlobPattern, String... fieldGlobPatterns)
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return a list of selected fields that match a specified "glob" pattern matching ie the glob pattern matching supported by FileSystem.getPathMatcher(java.lang.String).

      This will allow you to use '*', '**' and '?' as special matching characters such that "invoice/customer*" would match an invoice field with child fields that start with 'customer'.

      The fields are guaranteed to be in pre-order as they appear in the query.

      A selected field may have an alias - and hence is a unique field in the returned list. It may have the same field names as others in the list but when you also consider the alias then it is indeed unique because it would be another entry in the graphql result.

      Specified by:
      getFields in interface DataFetchingFieldSelectionSet
      Parameters:
      fieldGlobPattern - the glob pattern to match fields against
      fieldGlobPatterns - optionally more glob pattern to match fields against
      Returns:
      a list of selected fields or empty list if none match
    • getFields

      public List<SelectedField> getFields()
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return all selected fields.

      The fields are guaranteed to be in pre-order as they appear in the query.

      A selected field may have an alias - and hence is a unique field in the returned list. It may have the same field names as others in the list but when you also consider the alias then it is indeed unique because it would be another entry in the graphql result.

      Specified by:
      getFields in interface DataFetchingFieldSelectionSet
      Returns:
      a list of all selected fields or empty list if none match
    • getImmediateFields

      public List<SelectedField> getImmediateFields()
      Description copied from interface: DataFetchingFieldSelectionSet
      This will return all selected fields that are immediate child fields of the field being fetched.

      The fields are guaranteed to be in pre-order as they appear in the query.

      A selected field may have an alias - and hence is a unique field in the returned list. It may have the same field names as others in the list but when you also consider the alias then it is indeed unique because it would be another entry in the graphql result.

      Specified by:
      getImmediateFields in interface DataFetchingFieldSelectionSet
      Returns:
      a list of all selected immediate child fields or empty list if none match
    • getFieldsGroupedByResultKey

      public Map<String,List<SelectedField>> getFieldsGroupedByResultKey()
      Description copied from interface: DataFetchingFieldSelectionSet
      The result key of a selected field represents what the graphql return value will be. The same GraphQLFieldDefinition may lead to a field being asked for multiple times (with differing arguments) if field aliases are used. This method helps you get all possible field invocations grouped by their result key. The arguments are guaranteed to be the same if the result key is the same, otherwise the query would not have validated correctly.
      Specified by:
      getFieldsGroupedByResultKey in interface DataFetchingFieldSelectionSet
      Returns:
      a map of selected fields grouped by result key or an empty map if none match
    • getFieldsGroupedByResultKey

      public Map<String,List<SelectedField>> getFieldsGroupedByResultKey(String fieldGlobPattern, String... fieldGlobPatterns)
      Description copied from interface: DataFetchingFieldSelectionSet
      The result key of a selected field represents what the graphql return value will be. The same GraphQLFieldDefinition may lead to a field being asked for multiple times (with differing arguments) if field aliases are used. This method helps you get all possible field invocations grouped by their result key. The arguments are guaranteed to be the same if the result key is the same, otherwise the query would not have validated correctly.
      Specified by:
      getFieldsGroupedByResultKey in interface DataFetchingFieldSelectionSet
      Parameters:
      fieldGlobPattern - the glob pattern to match fields against
      fieldGlobPatterns - optionally more glob pattern to match fields against
      Returns:
      a map of selected fields grouped by result key or an empty map if none match
    • toString

      public String toString()
      Overrides:
      toString in class Object