@PublicApi public class MergedField extends Object
query Foo {
bar
...BarFragment
}
fragment BarFragment on Query {
bar
}
Another example:
{
me{fistName}
me{lastName}
}
Here the me field is merged together including the sub selections.
A third example with different directives:
{
foo @someDirective
foo @anotherDirective
}
These examples make clear that you need to consider all merged fields together to have the full picture.
The actual logic when fields can successfully merged together is implemented in {#graphql.validation.rules.OverlappingFieldsCanBeMerged}Modifier and Type | Class and Description |
---|---|
static class |
MergedField.Builder |
Modifier and Type | Method and Description |
---|---|
List<Argument> |
getArguments()
All merged fields share the same arguments.
|
List<Field> |
getFields()
All merged fields
|
String |
getName()
All merged fields have the same name.
|
String |
getResultKey()
Returns the key of this MergedField for the overall result.
|
Field |
getSingleField()
The first of the merged fields.
|
static MergedField.Builder |
newMergedField() |
static MergedField.Builder |
newMergedField(Field field) |
static MergedField.Builder |
newMergedField(List<Field> fields) |
String |
toString() |
MergedField |
transform(Consumer<MergedField.Builder> builderConsumer) |
public String getName()
getResultKey()
public String getResultKey()
public Field getSingleField()
public List<Argument> getArguments()
public static MergedField.Builder newMergedField()
public static MergedField.Builder newMergedField(Field field)
public static MergedField.Builder newMergedField(List<Field> fields)
public MergedField transform(Consumer<MergedField.Builder> builderConsumer)
Copyright © 2019. All rights reserved.