Interface SymbolResolver

All Known Implementing Classes:
AbstractSymbolResolver, JavaQueryCompiler, JDOQLCompiler, JDOQLSymbolResolver, JPQLCompiler, JPQLSymbolResolver

public interface SymbolResolver
Interface for use in the resolution of symbols during query compilation.
  • Method Details

    • getType

      Class getType(List<String> tuples)
    • getPrimaryClass

      Class getPrimaryClass()
      Accessor for the candidate class of the query.
      Returns:
      The candidate class
    • resolveClass

      Class resolveClass(String className)
      Method to resolve the provided name to a class (if possible). Some query languages allow definition of imports of packages to check (e.g JDOQL) and so use this as a hook for that capability.
      Parameters:
      className - Name of the prospective "class"
      Returns:
      The resolved class
      Throws:
      ClassNotResolvedException - if not found
    • supportsImplicitVariables

      boolean supportsImplicitVariables()
      Whether we should accept implicit variables in the query. JDOQL supports variables, yet JPQL doesn't. Also in JDOQL if the user supplies some explicit variables then it doesn't allow implicit variables.
      Returns:
      Whether to support implicit variables
    • caseSensitiveSymbolNames

      boolean caseSensitiveSymbolNames()
      Whether names of symbols are case-sensitive (e.g JDOQL returns true, but JPQL returns false).
      Returns:
      Whether case sensitive