Interface SelectedField


  • @ProviderType
    public interface SelectedField
    Interface to wrap information from GraphQL SelectedField.

    As described in SelectionSet, it is aimed to map the SelectedField to the minimum information required when processing the query.

    InlineFragment are mapped so that its isInline() is return true.

    • Method Detail

      • getName

        @Nullable
        @Nullable String getName()
        Returns:
        the name as defined in the selection set.
      • getQualifiedName

        @Nullable
        @Nullable String getQualifiedName()
        Returns:
        the simple qualified name of the selected field
      • getFullyQualifiedName

        @Nullable
        @Nullable String getFullyQualifiedName()
        Returns:
        the fully qualified name of the item
      • getLevel

        int getLevel()
        Returns:
        level of the selected field within the query
      • isConditional

        boolean isConditional()
        Returns:
        whether the field is conditionally present
      • getAlias

        @Nullable
        @Nullable String getAlias()
        Returns:
        the alias of the selected field or null if not alias was used
      • getResultKey

        @Nullable
        @Nullable String getResultKey()
        The result key is either the field query alias OR the field name in that preference order
        Returns:
        the result key of the selected field
      • getSubSelectedFields

        @NotNull
        @NotNull List<SelectedField> getSubSelectedFields()
        Returns:
        the sub selected fields.
      • getSubSelectedFieldByName

        @NotNull
        @NotNull Collection<SelectedField> getSubSelectedFieldByName​(@NotNull
                                                                     @NotNull String name)
        Parameters:
        name - the sub selected field name.
        Returns:
        A collection of selected fields or an empty collection if not found
      • getFirstSubSelectedFieldByName

        @Nullable
        @Nullable SelectedField getFirstSubSelectedFieldByName​(@NotNull
                                                               @NotNull String name)
        Parameters:
        name - the sub selected field name.
        Returns:
        The first field in the map of fields by name if found otherwise null
      • getSubSelectedField

        @Deprecated
        @Nullable
        @Nullable SelectedField getSubSelectedField​(@NotNull
                                                    @NotNull String name)
        Deprecated.
        Please use getSubSelectedFieldByName() or getSubSelectedFieldByFQN() instead
        Parameters:
        name - the sub selected field name. Note: If the name contains a dot it is looked up in the map of fully qualified names otherwise from the map with the regular names
        Returns:
        the object or null if that doesn't exist.
      • getSubSelectedFieldByFQN

        @Nullable
        @Nullable SelectedField getSubSelectedFieldByFQN​(@NotNull
                                                         @NotNull String fullyQualifiedName)
        Parameters:
        fullyQualifiedName - the sub selected field name.
        Returns:
        the object or null if that doesn't exist.
      • hasDuplicateFieldByName

        boolean hasDuplicateFieldByName​(@NotNull
                                        @NotNull String name)
        Checks if there are more than one field with the same name
        Parameters:
        name - Simple Name of a Field to look for
        Returns:
        True if a field exists with that and contains more than one field
      • hasSubSelectedFieldsByName

        boolean hasSubSelectedFieldsByName​(@NotNull
                                           @NotNull String... name)
        Parameters:
        name - the sub selected field name(s).
        Returns:
        true if any of the sub selected fields exists.
      • hasSubSelectedFieldsByFQN

        boolean hasSubSelectedFieldsByFQN​(@NotNull
                                          @NotNull String... fullyQualifiedName)
      • hasSubSelectedFields

        @Deprecated
        boolean hasSubSelectedFields​(@NotNull
                                     @NotNull String... name)
        Deprecated.
        Use hasDuplicateFieldByName(), hasSubSelectedFieldsByName() or hasSubSelectedFieldsByFQN
        Parameters:
        name - the sub selected field name(s) and they cannot be null Note: If the name contains a dot it is looked up in the map of fully qualified names otherwise from the map with the regular names
        Returns:
        true if any of the sub selected fields exists.
      • isInline

        @Deprecated
        boolean isInline()
        Deprecated.
        There are no more inlined fragments anymore so this is always false
        Returns:
        Always returns false
      • getObjectTypeNames

        @NotNull
        @NotNull List<String> getObjectTypeNames()
        The Object Type Name is taken from the Normalized Field from GraphQL Java and denotes any inlined fragment type that field can be part of
        Returns:
        List of Object Type Names which is always a List but might be empty