org.datanucleus.query.compiler
Class JDOQLSymbolResolver

java.lang.Object
  extended by org.datanucleus.query.compiler.AbstractSymbolResolver
      extended by org.datanucleus.query.compiler.JDOQLSymbolResolver
All Implemented Interfaces:
SymbolResolver

public class JDOQLSymbolResolver
extends AbstractSymbolResolver

Symbol resolver for JDOQL.


Field Summary
 
Fields inherited from class org.datanucleus.query.compiler.AbstractSymbolResolver
candidateAlias, candidateClass, clr, metaDataManager, symtbl
 
Constructor Summary
JDOQLSymbolResolver(MetaDataManager mmgr, ClassLoaderResolver clr, SymbolTable symtbl, java.lang.Class cls, java.lang.String alias)
          Constructor for symbol resolver.
 
Method Summary
 boolean caseSensitiveSymbolNames()
          Whether names of symbols are case-sensitive (e.g JDOQL returns true, but JPQL returns false).
 java.lang.Class resolveClass(java.lang.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.query.compiler.AbstractSymbolResolver
getPrimaryClass, getType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDOQLSymbolResolver

public JDOQLSymbolResolver(MetaDataManager mmgr,
                           ClassLoaderResolver clr,
                           SymbolTable symtbl,
                           java.lang.Class cls,
                           java.lang.String alias)
Constructor for symbol resolver.

Parameters:
mmgr - MetaData manager
clr - ClassLoader resolver
symtbl - Symbol table
cls - Candidate class
alias - Candidate alias
Method Detail

resolveClass

public java.lang.Class resolveClass(java.lang.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


Copyright © 2011. All Rights Reserved.