Class GQLOperation

  • All Implemented Interfaces:
    GQLSelection

    @Immutable
    public class GQLOperation
    extends java.lang.Object
    implements GQLSelection
    Representing a single GQL operation, which is either a query or a mutation.
    • Constructor Summary

      Constructors 
      Constructor Description
      GQLOperation​(net.morimekta.providence.descriptor.PService service, boolean mutation, java.lang.String name, java.util.List<GQLSelection> selectionSet)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getName()  
      java.util.List<GQLSelection> getSelection​(net.morimekta.providence.descriptor.PField field)
      Get all selection entries related to the given field.
      java.util.List<GQLSelection> getSelectionSet()  
      net.morimekta.providence.descriptor.PService getService()  
      int hashCode()  
      boolean hasMethodCall​(net.morimekta.providence.descriptor.PServiceMethod method)  
      boolean hasSelection​(net.morimekta.providence.descriptor.PField... fields)
      Check if any of the given fields are in the selection.
      boolean isMutation()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • GQLOperation

        public GQLOperation​(@Nonnull
                            net.morimekta.providence.descriptor.PService service,
                            boolean mutation,
                            @Nullable
                            java.lang.String name,
                            @Nonnull
                            java.util.List<GQLSelection> selectionSet)
    • Method Detail

      • isMutation

        public boolean isMutation()
      • hasMethodCall

        public boolean hasMethodCall​(net.morimekta.providence.descriptor.PServiceMethod method)
      • hasSelection

        public boolean hasSelection​(@Nonnull
                                    net.morimekta.providence.descriptor.PField... fields)
        Description copied from interface: GQLSelection
        Check if any of the given fields are in the selection. It will only look the the current struct, but check in all contained and referenced fragments. If only one field is given, this method will return true if and only if GQLSelection.getSelection(PField) returns a non-empty list.
        Specified by:
        hasSelection in interface GQLSelection
        Parameters:
        fields - Fields to check selection for.
        Returns:
        True only if the current selection set contains ony of the provided fields.
      • getSelection

        @Nonnull
        public java.util.List<GQLSelection> getSelection​(@Nonnull
                                                         net.morimekta.providence.descriptor.PField field)
        Description copied from interface: GQLSelection
        Get all selection entries related to the given field. It will only look at the current struct, but look at all levels of fragments. The result will contain one entry for each time the field is requested, so if multiple fragments requests the same field, this will return one entry per reference. If it contains more than one, the query should only have one such without alias, and all others should use unique aliases, but is not required. This method will return a non-empty list if and only if GQLSelection.hasSelection(PField[]) called with the same field returns true.
        Specified by:
        getSelection in interface GQLSelection
        Parameters:
        field - The field to get selection for.
        Returns:
        List of selection related to the field.
      • getName

        @Nullable
        public java.lang.String getName()
      • getService

        @Nonnull
        public net.morimekta.providence.descriptor.PService getService()
      • getSelectionSet

        @Nonnull
        public java.util.List<GQLSelection> getSelectionSet()
        Specified by:
        getSelectionSet in interface GQLSelection
        Returns:
        List if selections contained within this selection.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object