Implementation
Public API components
SchemaModule
The main component of Rejoiner is the SchemaModule.
TODO: Explain how SchemaModule works and how it uses Guice Multibinder.
Java Annotations
These annotations are used to build and modify a generated GraphQL schema.
DSL
- Type - used to build schema modifications.
Producing the final GraphQL schema
Each SchemaModule generates parts of the schema and the SchemaProviderModule combines all of those parts into the final schema.
Functional utilities
- SchemaToProto - used to generate a protobuf message from the resulting schema. This can be used to expose the GraphQL endpoint over gRPC.
- SchemaToTypeScript - generates a basic TypeScript typedef file. Complex clients should consider GraphQL frameworks such as Relay or Apollo.
- QueryResponseToProto
Extending Rejoiner
- TypeModification are functions that transform GraphQLObjectType instances. This is used to add and remove fields from the generated GraphQLObjectType instances. Additional transforms can be added by implementing this interface.
- Annotations
Implementation
These classes are package private and not part of the public API.