Class JavaResolverGenerator

  • All Implemented Interfaces:

    
    public final class JavaResolverGenerator
    
                        

    Generator for Java resolver base classes from GraphQL fields with @resolver directive.

    Generates abstract base classes that tenant developers extend to implement field resolvers. Each resolver class is annotated with @ResolverFor and contains a Context inner class that delegates to FieldExecutionContext.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      static String generate(ResolversFileModel model) Generates the Java resolvers source code as a string.
      static File generateToFile(ResolversFileModel model, File resolverGeneratedDir) Generates the Java resolvers source code and writes it to a file.
      • Methods inherited from class java.lang.Object

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

    • Method Detail

      • generate

         static String generate(ResolversFileModel model)

        Generates the Java resolvers source code as a string.

        Parameters:
        model - the resolvers file model
        Returns:

        the generated Java source code

      • generateToFile

         static File generateToFile(ResolversFileModel model, File resolverGeneratedDir)

        Generates the Java resolvers source code and writes it to a file.

        Resolver files are written to package subdirectories under the output directory. The package is {tenantPackage}.resolverbases, so the file path will be: {resolverGeneratedDir}/{tenantPackage/path}/resolverbases/{TypeName}Resolvers.java

        Parameters:
        model - the resolvers file model
        resolverGeneratedDir - the output directory
        Returns:

        the file that was written