com.psddev.dari.db.Query.and()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.5k)|赞(0)|评价(0)|浏览(220)

本文整理了Java中com.psddev.dari.db.Query.and方法的一些代码示例,展示了Query.and的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Query.and方法的具体详情如下:
包路径:com.psddev.dari.db.Query
类名称:Query
方法名:and

Query.and介绍

[英]Combines the given predicate with the current one using AND logic. If the current predicate is null, the given predicate replaces it. For example:

  1. Query<Article> query = Query.from(Article.class);
  2. for (...) {
  3.   query.and("tags = ?", tag);
  4. }

is equivalent to:

  1. Query<Article> query = Query.from(Article.class);
  2. for (...) {
  3.   if (isFirst) {
  4.   query.where("tags = ?", tag);
  5.   } else {
  6.   query.and("tags = ?", tag);
  7.   }
  8. }

[中]使用AND逻辑将给定谓词与当前谓词组合。如果当前谓词为null,则给定的谓词将替换它。例如:

  1. Query<Article> query = Query.from(Article.class);
  2. for (...) {
  3.   query.and("tags = ?", tag);
  4. }

相当于:

  1. Query<Article> query = Query.from(Article.class);
  2. for (...) {
  3.   if (isFirst) {
  4.   query.where("tags = ?", tag);
  5.   } else {
  6.   query.and("tags = ?", tag);
  7.   }
  8. }

代码示例

代码示例来源:origin: perfectsense/dari

  1. /** @see #and(Predicate) */
  2. public Query<E> where(Predicate predicate) {
  3. return and(predicate);
  4. }

代码示例来源:origin: perfectsense/dari

  1. /** @see #and(String, Object...) */
  2. public Query<E> where(String predicateString, Object... parameters) {
  3. return and(predicateString, parameters);
  4. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. public void apply(SearchQueryBuilder queryBuilder, Query query, List<String> queryTerms) {
  2. if (onlyReturnPathed) {
  3. query.and(Directory.Static.hasPathPredicate());
  4. }
  5. }
  6. }

代码示例来源:origin: perfectsense/dari

  1. @Override
  2. public Query<T> createItemsQuery() {
  3. Query<T> itemsQuery = Query.fromQuery(query);
  4. for (int i = 0, length = fields.length; i < length; ++ i) {
  5. itemsQuery.and(fields[i] + " = ?", keys.get(i));
  6. }
  7. return itemsQuery;
  8. }

代码示例来源:origin: perfectsense/dari

  1. /**
  2. * Parses the given {@linkplain PredicateParser.Static#parse predicateString}
  3. * with the given {@code parameters} and {@linkplain #and(Predicate)
  4. * adds it} to the current one.
  5. */
  6. public Query<E> and(String predicateString, Object... parameters) {
  7. return and(PredicateParser.Static.parse(predicateString, parameters));
  8. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. @Override
  2. protected Query<?> createQuery(Directory directory) {
  3. return (itemType != null ? Query.fromType(itemType) : Query.fromAll())
  4. .and(page.siteItemsPredicate())
  5. .and(directory.itemsPredicate(page.getSite()))
  6. .and("* matches ?", value)
  7. .and("cms.directory.paths != missing");
  8. }
  9. });

代码示例来源:origin: perfectsense/brightspot-cms

  1. public void apply(SearchQueryBuilder queryBuilder, Query query, List<String> queryTerms) {
  2. if (!ObjectUtils.isBlank(queryTerms)) {
  3. for (String queryTerm : queryTerms) {
  4. for (String spotLightTerm : spotLightTerms) {
  5. if (spotLightTerm.equalsIgnoreCase(queryTerm)) {
  6. query.and("id != ?", getSpotlightContent());
  7. break;
  8. }
  9. }
  10. }
  11. }
  12. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. public Query toQuery(Site site, Object... terms) {
  2. List<String> queryTerms = normalizeTerms(terms);
  3. Query query = Query.from(Object.class);
  4. if (site != null) {
  5. query.and(site.itemsPredicate());
  6. }
  7. for (Rule rule : getRules()) {
  8. rule.apply(this, query, queryTerms);
  9. }
  10. if (!queryTerms.isEmpty()) {
  11. query.and("_any matchesAny ?", queryTerms);
  12. }
  13. Set<ObjectType> allTypes = new HashSet<ObjectType>();
  14. for (ObjectType type : getTypes()) {
  15. allTypes.addAll(type.as(ToolUi.class).findDisplayTypes());
  16. }
  17. query.and("_type = ?", allTypes);
  18. return query;
  19. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. public Query<?> toPreviousQuery(State state) {
  2. String sortFieldName = getSortFieldName();
  3. Query<?> query = toQuery().and(sortFieldName + " <= ? and _id != ?", state.get(sortFieldName), state.getId());
  4. for (ListIterator<Sorter> i = query.getSorters().listIterator(); i.hasNext();) {
  5. Sorter sorter = i.next();
  6. if (Sorter.ASCENDING_OPERATOR.equals(sorter.getOperator())) {
  7. List<Object> options = sorter.getOptions();
  8. if (options != null
  9. && options.size() > 0
  10. && sortFieldName.equals(options.get(0))) {
  11. i.set(new Sorter(Sorter.DESCENDING_OPERATOR, options));
  12. }
  13. }
  14. }
  15. return query;
  16. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. /**
  2. * Releases the exclusive write lock on the content with the given
  3. * {@code id}.
  4. *
  5. * @param id Can't be {@code null}.
  6. */
  7. public void unlockContent(UUID id) {
  8. String idPrefix = id.toString() + '/';
  9. Set<String> locks = createLocks(idPrefix);
  10. ToolUser user = Query
  11. .from(ToolUser.class)
  12. .where("_id != ?", this)
  13. .and("contentLocks = ?", locks)
  14. .first();
  15. if (user != null) {
  16. for (Iterator<String> i = user.contentLocks.iterator(); i.hasNext();) {
  17. if (i.next().startsWith(idPrefix)) {
  18. i.remove();
  19. }
  20. }
  21. user.save();
  22. }
  23. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. @Override
  2. protected Query<?> createQuery(Directory directory) {
  3. return (itemType != null ? Query.fromType(itemType) : Query.fromAll())
  4. .and(page.siteItemsSearchPredicate())
  5. .and(directory.itemsPredicate(page.getSite()))
  6. .sortAscending(Directory.PATHS_FIELD);
  7. }
  8. });

代码示例来源:origin: perfectsense/brightspot-cms

  1. public Query<?> toNextQuery(State state) {
  2. String sortFieldName = getSortFieldName();
  3. return toQuery().and(sortFieldName + " >= ? and _id != ?", state.get(sortFieldName), state.getId());
  4. }
  5. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. /** Returns the number of remaining items to be worked on. */
  2. public long countIncomplete() {
  3. return getQuery().clone()
  4. .and("id != ?", Query.from(Object.class).where("cms.workstream.completeIds ^= ?", getId().toString() + ","))
  5. .count();
  6. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. /**
  2. * Removes the Object with itemId from this SearchResultSelection.
  3. * @param itemId the id of the Object to be removed. Cannot be {@code null}.
  4. */
  5. public boolean removeItem(UUID itemId) {
  6. if (itemId == null) {
  7. throw new IllegalArgumentException("itemId cannot be null!");
  8. }
  9. SearchResultSelectionItem item = Query
  10. .from(SearchResultSelectionItem.class)
  11. .where("selectionId = ?", getId())
  12. .and("itemId = ?", itemId).first();
  13. if (item == null) {
  14. return false;
  15. }
  16. item.delete();
  17. return true;
  18. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. public static <T extends Taxon> List<T> getRoots(Class<T> taxonClass, Site site, Predicate predicate) {
  2. Query<T> query = Query.from(taxonClass).where("cms.taxon.root = true");
  3. if (site != null) {
  4. query.and(site.itemsPredicate());
  5. }
  6. List<T> roots = query.selectAll();
  7. return filter(roots, predicate);
  8. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. @Override
  2. public Query<SearchResultSelection> getQuery(ToolPageContext page) {
  3. Query<SearchResultSelection> query = Query.from(SearchResultSelection.class).where("name != missing");
  4. ToolEntityType entityType = page.pageParam(ToolEntityType.class, TOOL_ENTITY_TYPE_PARAMETER, ToolEntityType.ANYONE);
  5. UUID entityId = null;
  6. if (entityType == ToolEntityType.USER || entityType == ToolEntityType.ROLE) {
  7. entityId = page.pageParam(UUID.class, TOOL_ENTITY_VALUE_PARAMETER, null);
  8. } else if (entityType == ToolEntityType.ME) {
  9. entityId = page.getUser().getId();
  10. }
  11. if (entityId != null) {
  12. query.and("entities = ?", entityId);
  13. }
  14. return query;
  15. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. private void deleteWorksInProgress(Object object) {
  2. UUID contentId = object instanceof Draft
  3. ? ((Draft) object).getObjectId()
  4. : State.getInstance(object).getId();
  5. Query.from(WorkInProgress.class)
  6. .where("owner = ?", getUser())
  7. .and("contentId = ?", contentId)
  8. .deleteAll();
  9. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. /**
  2. * Adds the Object with itemId to this SearchResultSelection.
  3. * @param itemId the id of the Object to be added. Cannot be {@code null}.
  4. */
  5. public boolean addItem(UUID itemId) {
  6. if (itemId == null) {
  7. throw new IllegalArgumentException("itemId cannot be null!");
  8. }
  9. SearchResultSelectionItem item = Query
  10. .from(SearchResultSelectionItem.class)
  11. .where("selectionId = ?", getId())
  12. .and("itemId = ?", itemId)
  13. .first();
  14. if (item == null) {
  15. item = new SearchResultSelectionItem();
  16. item.setSelectionId(getId());
  17. item.setItemId(itemId);
  18. item.save();
  19. return true;
  20. }
  21. return false;
  22. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. private PaginatedResult<WorkStream> getResults(ToolPageContext page) {
  2. Query<WorkStream> query = Query.from(WorkStream.class).where(page.siteItemsPredicate());
  3. ToolEntityType entityType = page.pageParam(ToolEntityType.class, TOOL_ENTITY_TYPE_PARAMETER, ToolEntityType.ANYONE);
  4. UUID entityId = null;
  5. if (entityType == ToolEntityType.USER || entityType == ToolEntityType.ROLE) {
  6. entityId = page.pageParam(UUID.class, TOOL_ENTITY_VALUE_PARAMETER, null);
  7. } else if (entityType == ToolEntityType.ME) {
  8. entityId = page.getUser().getId();
  9. }
  10. if (entityId != null) {
  11. query.and("assignedEntities = ?", entityId);
  12. }
  13. return query.select(page.param(long.class, OFFSET_PARAMETER), page.paramOrDefault(int.class, LIMIT_PARAMETER, LIMITS[0]));
  14. }

代码示例来源:origin: perfectsense/brightspot-cms

  1. public void writeCheckboxHtml(ToolPageContext page, Search search, Object item) throws IOException {
  2. String url = page.toolUrl(CmsTool.class, "/searchResultActions",
  3. "search", ObjectUtils.toJson(search.getState().getSimpleValues()),
  4. SearchResultActions.ITEM_ID_PARAMETER, State.getInstance(item).getId());
  5. SearchResultSelection currentSelection = page.getUser().getCurrentSearchResultSelection();
  6. boolean selected = currentSelection != null
  7. && item != null
  8. && Query.from(SearchResultSelectionItem.class).where("selectionId = ?", currentSelection).and("itemId = ?", item).first() != null;
  9. page.writeElement("input",
  10. "type", "checkbox",
  11. "name", "id",
  12. "checked", (selected ? "checked" : null),
  13. "value", State.getInstance(item).getId(),
  14. "data-frame-target", search.createFrameName("SearchResultActions"),
  15. "data-frame-check", StringUtils.addQueryParameters(url, SearchResultActions.ACTION_PARAMETER, SearchResultActions.ACTION_ADD),
  16. "data-frame-uncheck", StringUtils.addQueryParameters(url, SearchResultActions.ACTION_PARAMETER, SearchResultActions.ACTION_REMOVE));
  17. }

相关文章