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 DBQueryBuilderComponentBuild the commands required to generate the dynamic SQL This is independent of the data base schema.- Author:
- Andy
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidbuildJoins(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 predicatebooleanisSupported()Is 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 Detail
-
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
void buildPredicateCommands(List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)
Add to the list of commands used to build the SQL predicate
-
-