Class DBQuery

  • All Implemented Interfaces:
    DBQueryBuilderComponent, org.alfresco.repo.search.impl.querymodel.Query

    public class DBQuery
    extends org.alfresco.repo.search.impl.querymodel.impl.BaseQuery
    implements DBQueryBuilderComponent
    Author:
    Andy
    • Constructor Summary

      Constructors 
      Constructor Description
      DBQuery​(java.util.List<org.alfresco.repo.search.impl.querymodel.Column> columns, org.alfresco.repo.search.impl.querymodel.Source source, org.alfresco.repo.search.impl.querymodel.Constraint constraint, java.util.List<org.alfresco.repo.search.impl.querymodel.Ordering> orderings)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void buildJoins​(java.util.Map<org.alfresco.service.namespace.QName,​DBQueryBuilderJoinCommand> singleJoins, java.util.List<DBQueryBuilderJoinCommand> multiJoins)
      Build the Set of required joins Assign join aliases and link them up to each component where required
      void buildPredicateCommands​(java.util.List<DBQueryBuilderPredicatePartCommand> predicatePartCommands)
      Add to the list of commands used to build the SQL predicate
      static java.lang.String expandQName​(java.lang.String toStrip, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)  
      static java.util.List<java.lang.Long> findAspectIds​(java.lang.String aspect, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)  
      static java.util.List<java.lang.Long> findTypeIds​(java.lang.String type, org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, boolean exact)  
      static org.alfresco.service.cmr.dictionary.DataTypeDefinition getDataTypeDefinition​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQname)  
      static java.lang.Long getDbid​(java.lang.String source, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)  
      static java.lang.Long[] getDbids​(java.lang.String[] stringValues, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService)  
      static java.lang.String getFieldName​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, org.alfresco.service.namespace.QName propertyQName, boolean supportBooleanFloatAndDouble)  
      boolean getHasOrderBy()  
      boolean getHasPredicate()  
      boolean getHasPredicatePartsOrder()  
      static DBQueryBuilderJoinCommandType getJoinCommandType​(org.alfresco.service.namespace.QName propertyQName)  
      java.util.List<DBQueryBuilderJoinCommand> getJoins()  
      java.util.List<DBQueryBuilderPredicatePartCommand> getPredicateParts()  
      java.lang.Long getSinceTxId()  
      java.lang.Long getStoreId()  
      java.lang.Long getSysDeletedType()  
      static java.lang.String getUUID​(java.lang.String source)  
      static java.lang.String[] getUUIDs​(java.lang.String[] source)  
      boolean isSupported()
      Is this component supported in a DB query?
      static org.alfresco.service.cmr.dictionary.AspectDefinition matchAspectDefinition​(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)  
      static org.alfresco.service.cmr.dictionary.TypeDefinition matchTypeDefinition​(java.lang.String string, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)  
      static java.lang.String matchURI​(java.lang.String prefix, org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)  
      void prepare​(org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService, QNameDAO qnameDAO, NodeDAO nodeDAO, org.alfresco.repo.tenant.TenantService tenantService, java.util.Set<java.lang.String> selectors, java.util.Map<java.lang.String,​org.alfresco.repo.search.impl.querymodel.Argument> functionArgs, org.alfresco.repo.search.impl.querymodel.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​(java.lang.Long sinceTxId)  
      void setStoreId​(java.lang.Long storeId)  
      void setSysDeletedType​(java.lang.Long sysDeletedType)  
      static java.lang.String[] toStringValues​(java.lang.Object[] objects)  
      static java.lang.String[] toStringValues​(java.util.Collection<?> objects)  
      • Methods inherited from class org.alfresco.repo.search.impl.querymodel.impl.BaseQuery

        getColumns, getConstraint, getOrderings, getSource, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • DBQuery

        public DBQuery​(java.util.List<org.alfresco.repo.search.impl.querymodel.Column> columns,
                       org.alfresco.repo.search.impl.querymodel.Source source,
                       org.alfresco.repo.search.impl.querymodel.Constraint constraint,
                       java.util.List<org.alfresco.repo.search.impl.querymodel.Ordering> orderings)
        Parameters:
        source - Source
        constraint - Constraint
    • Method Detail

      • getStoreId

        public java.lang.Long getStoreId()
        Returns:
        the storeId
      • setStoreId

        public void setStoreId​(java.lang.Long storeId)
        Parameters:
        storeId - the storeId to set
      • getSysDeletedType

        public java.lang.Long getSysDeletedType()
        Returns:
        the sysDeletedType
      • setSysDeletedType

        public void setSysDeletedType​(java.lang.Long sysDeletedType)
        Parameters:
        sysDeletedType - the sysDeletedType to set
      • getSinceTxId

        public java.lang.Long getSinceTxId()
        Returns:
        the sinceTxId
      • setSinceTxId

        public void setSinceTxId​(java.lang.Long sinceTxId)
        Parameters:
        sinceTxId - the sinceTxId to set
      • getHasPredicate

        public boolean getHasPredicate()
      • getHasOrderBy

        public boolean getHasOrderBy()
      • getHasPredicatePartsOrder

        public boolean getHasPredicatePartsOrder()
      • prepare

        public void prepare​(org.alfresco.service.namespace.NamespaceService namespaceService,
                            org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                            QNameDAO qnameDAO,
                            NodeDAO nodeDAO,
                            org.alfresco.repo.tenant.TenantService tenantService,
                            java.util.Set<java.lang.String> selectors,
                            java.util.Map<java.lang.String,​org.alfresco.repo.search.impl.querymodel.Argument> functionArgs,
                            org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext functionContext,
                            boolean supportBooleanFloatAndDouble)
        Description copied from interface: DBQueryBuilderComponent
        Use the dictionary to expand any terms, deal with multi-valued properties, etc Use the QNameDAO to look up any ids
        Specified by:
        prepare in interface DBQueryBuilderComponent
        Parameters:
        namespaceService - NamespaceService
        dictionaryService - DictionaryService
        qnameDAO - QNameDAO
        nodeDAO - NodeDAO
        tenantService - TenantService
        functionContext - FunctionEvaluationContext
      • getUUIDs

        public static java.lang.String[] getUUIDs​(java.lang.String[] source)
      • getUUID

        public static java.lang.String getUUID​(java.lang.String source)
      • getDbid

        public static java.lang.Long getDbid​(java.lang.String source,
                                             NodeDAO nodeDAO,
                                             org.alfresco.repo.tenant.TenantService tenantService)
      • findTypeIds

        public static java.util.List<java.lang.Long> findTypeIds​(java.lang.String type,
                                                                 org.alfresco.service.namespace.NamespaceService namespaceService,
                                                                 org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                                                                 QNameDAO qnameDAO,
                                                                 boolean exact)
      • findAspectIds

        public static java.util.List<java.lang.Long> findAspectIds​(java.lang.String aspect,
                                                                   org.alfresco.service.namespace.NamespaceService namespaceService,
                                                                   org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                                                                   QNameDAO qnameDAO,
                                                                   boolean exact)
      • toStringValues

        public static java.lang.String[] toStringValues​(java.util.Collection<?> objects)
      • toStringValues

        public static java.lang.String[] toStringValues​(java.lang.Object[] objects)
      • expandQName

        public static java.lang.String expandQName​(java.lang.String toStrip,
                                                   org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
      • matchURI

        public static java.lang.String matchURI​(java.lang.String prefix,
                                                org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver)
      • matchTypeDefinition

        public static org.alfresco.service.cmr.dictionary.TypeDefinition matchTypeDefinition​(java.lang.String string,
                                                                                             org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                                                                             org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      • matchAspectDefinition

        public static org.alfresco.service.cmr.dictionary.AspectDefinition matchAspectDefinition​(java.lang.String string,
                                                                                                 org.alfresco.service.namespace.NamespacePrefixResolver namespacePrefixResolver,
                                                                                                 org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
      • getJoinCommandType

        public static DBQueryBuilderJoinCommandType getJoinCommandType​(org.alfresco.service.namespace.QName propertyQName)
        Parameters:
        propertyQName - QName
        Returns:
        DBQueryBuilderJoinCommandType
      • getFieldName

        public static java.lang.String getFieldName​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                                                    org.alfresco.service.namespace.QName propertyQName,
                                                    boolean supportBooleanFloatAndDouble)
        Parameters:
        dictionaryService - DictionaryService
        propertyQName - QName
        Returns:
        String
      • getDataTypeDefinition

        public static org.alfresco.service.cmr.dictionary.DataTypeDefinition getDataTypeDefinition​(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService,
                                                                                                   org.alfresco.service.namespace.QName propertyQname)
      • getDbids

        public static java.lang.Long[] getDbids​(java.lang.String[] stringValues,
                                                NodeDAO nodeDAO,
                                                org.alfresco.repo.tenant.TenantService tenantService)
        Parameters:
        stringValues - String[]
        nodeDAO - NodeDAO
        tenantService - TenantService
        Returns:
        Long[]