Class GQLField
- java.lang.Object
-
- net.morimekta.providence.graphql.gql.GQLField
-
- All Implemented Interfaces:
GQLSelection
@Immutable public class GQLField extends java.lang.Object implements GQLSelection
Representation of a field in the response JSON. This is called a 'field' as it references a field of data in the JSON response, unrelated to message fields. This may represent a message field or a method call, but not both. And may always have an alias. If the type of the field, or return type of the message is a message or collection of messages, it may have a selection set.
-
-
Constructor Summary
Constructors Constructor Description GQLField(net.morimekta.providence.descriptor.PField field)Make a simple field selection based on a message field.GQLField(net.morimekta.providence.descriptor.PField field, java.lang.String alias, net.morimekta.providence.PMessage<?> arguments, java.util.List<GQLSelection> selectionSet)Make a full field selection definition.GQLField(net.morimekta.providence.descriptor.PField field, java.util.List<GQLSelection> selectionSet)Make a simple field selection based on a message field.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)java.lang.StringgetAlias()<M extends net.morimekta.providence.PMessage<M>>
MgetArguments()net.morimekta.providence.descriptor.PFieldgetField()java.util.List<GQLSelection>getSelectionSet()inthashCode()java.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.morimekta.providence.graphql.gql.GQLSelection
getSelection, hasSelection
-
-
-
-
Constructor Detail
-
GQLField
public GQLField(@Nonnull net.morimekta.providence.descriptor.PField field)Make a simple field selection based on a message field.- Parameters:
field- The field to be represented.
-
GQLField
public GQLField(@Nonnull net.morimekta.providence.descriptor.PField field, @Nullable java.util.List<GQLSelection> selectionSet)Make a simple field selection based on a message field.- Parameters:
field- The field to be represented.selectionSet- SelectionSet for sub-field selection.
-
GQLField
public GQLField(@Nonnull net.morimekta.providence.descriptor.PField field, @Nullable java.lang.String alias, @Nullable net.morimekta.providence.PMessage<?> arguments, @Nullable java.util.List<GQLSelection> selectionSet)Make a full field selection definition.- Parameters:
field- The field to be represented.alias- The alias to be used in the JSON output.arguments- Arguments used for field mutators.selectionSet- SelectionSet for sub-field selection.
-
-
Method Detail
-
getAlias
@Nullable public java.lang.String getAlias()
- Returns:
- The output field alias.
-
getField
@Nullable public net.morimekta.providence.descriptor.PField getField()
- Returns:
- The message field to be represented.
-
getArguments
@Nullable public <M extends net.morimekta.providence.PMessage<M>> M getArguments()
- Type Parameters:
M- The argument message type.- Returns:
- The argument struct. If no arguments or params then null.
-
getSelectionSet
@Nullable public java.util.List<GQLSelection> getSelectionSet()
- Specified by:
getSelectionSetin interfaceGQLSelection- Returns:
- The field's selection set, or null if none.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
-