Package org.jooq.meta

Interface JavaTypeResolver


public interface JavaTypeResolver
A function that can be injected into jOOQ-meta elements to resolve Java types from DataTypeDefinition.

This inversion of control is necessary to inject jOOQ-codegen behaviour into jOOQ-meta. It might become obsolete once we merge the two modules again.

Author:
Lukas Eder
  • Method Details

    • resolve

      String resolve(DataTypeDefinition type)
      Resolve a Java type from a DataTypeDefinition.
    • resolve

      String resolve(Name qualifiedUserType)
      Resolve a Java type from a qualified user type.
    • classLiteral

      String classLiteral(String type)
      Get a language dependent class literal for a type.

      LanguageOutput for String
      JavaString.class
      ScalaclassOf[String]
      KotlinString::class.java
    • constructorCall

      String constructorCall(String type)
      Get a language dependent constructor call for a type.

      LanguageOutput for String
      Javanew EnumConverter<A, B>
      Scalanew EnumConverter[A, B]
      KotlinEnumConverter<A, B>
    • ref

      String ref(String type)
      Get the unqualified type reference and add an import for the qualified type, if necessary.
    • ref

      String ref(Class<?> type)
      Get the unqualified type reference and add an import for the qualified type, if necessary.
    • resolveDefinedType

      <T> T resolveDefinedType(Supplier<T> supplier)
      Map a defined type to a user type, resolving converters and bindings, which may not need imports in some output modes.
    • cacheKey

      Object cacheKey()
      Get a cache key for this resolver, which can be used for caching calls to resolve(DataTypeDefinition).

      It can be safely assumed that consecutive calls to resolve(DataTypeDefinition) will produce the same result, considering the cache key.

      A null key means the resolver results cannot be cached.