Interface DBQueryBuilderComponent
- All Known Implementing Classes:
AspectSupport,DBChild,DBConjunction,DBDescendant,DBDisjunction,DBEquals,DBExists,DBFTSFuzzyTerm,DBFTSPhrase,DBFTSPrefixTerm,DBFTSProximity,DBFTSRange,DBFTSTerm,DBFTSWildTerm,DBFunctionalConstraint,DBGreaterThan,DBGreaterThanOrEquals,DBIn,DBLessThan,DBLessThanOrEquals,DBLike,DBLower,DBNotEquals,DBOrdering,DBPropertyAccessor,DBQuery,DBScore,DBSelector,DBUpper,ParentSupport,PropertySupport,TypeSupport,UUIDSupport
public interface DBQueryBuilderComponent
Build the commands required to generate the dynamic SQL This is independent of the data base schema.
- Author:
- Andy
-
Method Summary
Modifier and TypeMethodDescriptionvoidbuildJoins(Map<QName, DBQueryBuilderJoinCommand> singleJoins, List<DBQueryBuilderJoinCommand> multiJoins) Build the Set of required joins Assign join aliases and link them up to each component where requiredvoidbuildPredicateCommands(List<DBQueryBuilderPredicatePartCommand> predicatePartCommands) Add to the list of commands used to build the SQL predicatebooleanIs this component supported in a DB query?voidprepare(NamespaceService namespaceService, DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, TenantService tenantService, Set<String> selectors, Map<String, Argument> functionArgs, FunctionEvaluationContext functionContext, boolean supportBooleanFloatAndDouble) Use the dictionary to expand any terms, deal with multi-valued properties, etc Use the QNameDAO to look up any ids
-
Method Details
-
isSupported
boolean isSupported()Is this component supported in a DB query?- Returns:
- boolean
-
prepare
void prepare(NamespaceService namespaceService, DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, TenantService tenantService, Set<String> selectors, Map<String, Argument> functionArgs, FunctionEvaluationContext functionContext, boolean supportBooleanFloatAndDouble) Use the dictionary to expand any terms, deal with multi-valued properties, etc Use the QNameDAO to look up any ids- Parameters:
namespaceService- NamespaceServicedictionaryService- DictionaryServiceqnameDAO- QNameDAOnodeDAO- NodeDAOtenantService- TenantServicefunctionContext- FunctionEvaluationContext
-
buildJoins
void buildJoins(Map<QName, DBQueryBuilderJoinCommand> singleJoins, List<DBQueryBuilderJoinCommand> multiJoins) Build the Set of required joins Assign join aliases and link them up to each component where required -
buildPredicateCommands
Add to the list of commands used to build the SQL predicate
-