public class DBQuery extends BaseQuery implements DBQueryBuilderComponent
| Constructor and Description |
|---|
DBQuery(List<Column> columns,
Source source,
Constraint constraint,
List<Ordering> orderings) |
| Modifier and Type | Method and Description |
|---|---|
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
|
void |
buildPredicateCommands(List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)
Add to the list of commands used to build the SQL predicate
|
static String |
expandQName(String toStrip,
NamespacePrefixResolver namespacePrefixResolver) |
static List<Long> |
findAspectIds(String aspect,
NamespaceService namespaceService,
DictionaryService dictionaryService,
QNameDAO qnameDAO,
boolean exact) |
static List<Long> |
findTypeIds(String type,
NamespaceService namespaceService,
DictionaryService dictionaryService,
QNameDAO qnameDAO,
boolean exact) |
static DataTypeDefinition |
getDataTypeDefinition(DictionaryService dictionaryService,
QName propertyQname) |
static Long |
getDbid(String source,
NodeDAO nodeDAO,
TenantService tenantService) |
static Long[] |
getDbids(String[] stringValues,
NodeDAO nodeDAO,
TenantService tenantService) |
static String |
getFieldName(DictionaryService dictionaryService,
QName propertyQName,
boolean supportBooleanFloatAndDouble) |
boolean |
getHasOrderBy() |
boolean |
getHasPredicate() |
boolean |
getHasPredicatePartsOrder() |
static DBQueryBuilderJoinCommandType |
getJoinCommandType(QName propertyQName) |
List<DBQueryBuilderJoinCommand> |
getJoins() |
List<DBQueryBuilderPredicatePartCommand> |
getPredicateParts() |
Long |
getSinceTxId() |
Long |
getStoreId() |
Long |
getSysDeletedType() |
static String |
getUUID(String source) |
static String[] |
getUUIDs(String[] source) |
boolean |
isSupported()
Is this component supported in a DB query?
|
static AspectDefinition |
matchAspectDefinition(String string,
NamespacePrefixResolver namespacePrefixResolver,
DictionaryService dictionaryService) |
static TypeDefinition |
matchTypeDefinition(String string,
NamespacePrefixResolver namespacePrefixResolver,
DictionaryService dictionaryService) |
static String |
matchURI(String prefix,
NamespacePrefixResolver namespacePrefixResolver) |
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
|
void |
setSinceTxId(Long sinceTxId) |
void |
setStoreId(Long storeId) |
void |
setSysDeletedType(Long sysDeletedType) |
static String[] |
toStringValues(Collection<?> objects) |
static String[] |
toStringValues(Object[] objects) |
getColumns, getConstraint, getOrderings, getSource, toStringpublic Long getStoreId()
public void setStoreId(Long storeId)
storeId - the storeId to setpublic Long getSysDeletedType()
public void setSysDeletedType(Long sysDeletedType)
sysDeletedType - the sysDeletedType to setpublic Long getSinceTxId()
public void setSinceTxId(Long sinceTxId)
sinceTxId - the sinceTxId to setpublic List<DBQueryBuilderJoinCommand> getJoins()
public boolean getHasPredicate()
public boolean getHasOrderBy()
public List<DBQueryBuilderPredicatePartCommand> getPredicateParts()
public boolean getHasPredicatePartsOrder()
public boolean isSupported()
DBQueryBuilderComponentisSupported in interface DBQueryBuilderComponentpublic void prepare(NamespaceService namespaceService, DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, TenantService tenantService, Set<String> selectors, Map<String,Argument> functionArgs, FunctionEvaluationContext functionContext, boolean supportBooleanFloatAndDouble)
DBQueryBuilderComponentprepare in interface DBQueryBuilderComponentnamespaceService - NamespaceServicedictionaryService - DictionaryServiceqnameDAO - QNameDAOnodeDAO - NodeDAOtenantService - TenantServicefunctionContext - FunctionEvaluationContextpublic void buildJoins(Map<QName,DBQueryBuilderJoinCommand> singleJoins, List<DBQueryBuilderJoinCommand> multiJoins)
DBQueryBuilderComponentbuildJoins in interface DBQueryBuilderComponentpublic void buildPredicateCommands(List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)
DBQueryBuilderComponentbuildPredicateCommands in interface DBQueryBuilderComponentpublic static Long getDbid(String source, NodeDAO nodeDAO, TenantService tenantService)
public static List<Long> findTypeIds(String type, NamespaceService namespaceService, DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)
public static List<Long> findAspectIds(String aspect, NamespaceService namespaceService, DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)
public static String[] toStringValues(Collection<?> objects)
public static String expandQName(String toStrip, NamespacePrefixResolver namespacePrefixResolver)
public static String matchURI(String prefix, NamespacePrefixResolver namespacePrefixResolver)
public static TypeDefinition matchTypeDefinition(String string, NamespacePrefixResolver namespacePrefixResolver, DictionaryService dictionaryService)
public static AspectDefinition matchAspectDefinition(String string, NamespacePrefixResolver namespacePrefixResolver, DictionaryService dictionaryService)
public static DBQueryBuilderJoinCommandType getJoinCommandType(QName propertyQName)
propertyQName - QNamepublic static String getFieldName(DictionaryService dictionaryService, QName propertyQName, boolean supportBooleanFloatAndDouble)
dictionaryService - DictionaryServicepropertyQName - QNamepublic static DataTypeDefinition getDataTypeDefinition(DictionaryService dictionaryService, QName propertyQname)
public static Long[] getDbids(String[] stringValues, NodeDAO nodeDAO, TenantService tenantService)
stringValues - String[]nodeDAO - NodeDAOtenantService - TenantServiceCopyright © 2005–2020 Alfresco Software. All rights reserved.