- java.lang.Object
-
- org.datanucleus.store.query.compiler.AbstractSymbolResolver
-
- org.datanucleus.store.query.compiler.JDOQLSymbolResolver
-
- All Implemented Interfaces:
SymbolResolver
public class JDOQLSymbolResolver extends AbstractSymbolResolver
Symbol resolver for JDOQL.
-
-
Field Summary
-
Fields inherited from class org.datanucleus.store.query.compiler.AbstractSymbolResolver
candidateAlias, candidateClass, clr, metaDataManager, symtbl
-
-
Constructor Summary
Constructors Constructor Description JDOQLSymbolResolver(MetaDataManager mmgr, ClassLoaderResolver clr, SymbolTable symtbl, Class cls, String alias)
Constructor for symbol resolver.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
caseSensitiveSymbolNames()
Whether names of symbols are case-sensitive (e.g JDOQL returns true, but JPQL returns false).Class
resolveClass(String className)
Method to perform a lookup of the class name from the input name.boolean
supportsImplicitVariables()
Whether we should accept implicit variables in the query.-
Methods inherited from class org.datanucleus.store.query.compiler.AbstractSymbolResolver
getPrimaryClass, getType
-
-
-
-
Constructor Detail
-
JDOQLSymbolResolver
public JDOQLSymbolResolver(MetaDataManager mmgr, ClassLoaderResolver clr, SymbolTable symtbl, Class cls, String alias)
Constructor for symbol resolver.- Parameters:
mmgr
- MetaData managerclr
- ClassLoader resolversymtbl
- Symbol tablecls
- Candidate classalias
- Candidate alias
-
-
Method Detail
-
resolveClass
public Class resolveClass(String className)
Method to perform a lookup of the class name from the input name. Makes use of the query "imports" and the lookup to "entity name".- Parameters:
className
- Name of the class- Returns:
- The class corresponding to this name
- Throws:
ClassNotResolvedException
- thrown if not resolvable using imports or entity name
-
caseSensitiveSymbolNames
public boolean caseSensitiveSymbolNames()
Description copied from interface:SymbolResolver
Whether names of symbols are case-sensitive (e.g JDOQL returns true, but JPQL returns false).- Returns:
- Whether case sensitive
-
supportsImplicitVariables
public boolean supportsImplicitVariables()
Description copied from interface:SymbolResolver
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
-
-