Interface GraphQLSchemaElement

All Known Subinterfaces:
GraphQLCompositeType, GraphQLDirectiveContainer, GraphQLFieldsContainer, GraphQLImplementingType, GraphQLInputFieldsContainer, GraphQLInputSchemaElement, GraphQLInputType, GraphQLInputValueDefinition, GraphQLModifiedType, GraphQLNamedInputType, GraphQLNamedOutputType, GraphQLNamedSchemaElement, GraphQLNamedType, GraphQLNullableType, GraphQLOutputType, GraphQLType, GraphQLUnmodifiedType
All Known Implementing Classes:
GraphQLAppliedDirective, GraphQLAppliedDirectiveArgument, GraphQLArgument, GraphQLDirective, GraphQLEnumType, GraphQLEnumValueDefinition, GraphQLFieldDefinition, GraphQLInputObjectField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLScalarType, GraphQLTypeReference, GraphQLUnionType

@PublicApi public interface GraphQLSchemaElement
A GraphQLSchema can be viewed as a graph of GraphQLSchemaElement. Every node (vertex) of this graph implements this interface.
  • Method Details

    • getChildren

      default List<GraphQLSchemaElement> getChildren()
    • getChildrenWithTypeReferences

      default SchemaElementChildrenContainer getChildrenWithTypeReferences()
    • withNewChildren

      default GraphQLSchemaElement withNewChildren(SchemaElementChildrenContainer newChildren)
    • accept

    • equals

      boolean equals(Object obj)
      No GraphQLSchemaElement implements `equals` because we need object identity to treat a GraphQLSchema as an abstract graph.
      Overrides:
      equals in class Object
      Parameters:
      obj - the reference object with which to compare.
      Returns:
      true if this object is the same as the obj argument; false otherwise.
    • hashCode

      int hashCode()
      No GraphQLSchemaElement implements `equals/hashCode` because we need object identity to treat a GraphQLSchema as an abstract graph.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
    • copy

      Each GraphQLSchemaElement should make a copy of itself when this is called. The copy should be included its current contents as they currently exist into a new object.
      Returns:
      a copy of this element