@Override public Set<Object> getValues(PredicatesHolder predicatesHolder) { Stream<HasContainer> predicates = predicatesHolder.findKey(this.key); Optional<Object> value = predicates.map(HasContainer::getValue).findFirst(); return value.isPresent() ? Collections.singleton(value.get()) : null; }
/** * Converts a predicate to match the source field * @param predicatesHolder Predicates holder * @return A converted predicates holder */ default PredicatesHolder toPredicates(PredicatesHolder predicatesHolder){ Stream<HasContainer> hasContainers = predicatesHolder.findKey(getKey()); Set<PredicatesHolder> predicateHolders = hasContainers.map(this::toPredicate).collect(Collectors.toSet()); return PredicatesHolderFactory.create(predicatesHolder.getClause(), predicateHolders); }
@Override public Set<Object> getValues(PredicatesHolder predicatesHolder) { Stream<PredicatesHolder> predicates = predicatesHolder.findKey(this.key).map(this::explodeConnective); Map<String, Date> datePredicates = new HashMap<>(); predicates.flatMap(p -> p.getPredicates().stream())
@Override public PredicatesHolder toPredicates(PredicatesHolder predicatesHolder) { Set<PredicatesHolder> predicates = predicatesHolder.findKey(this.key).map(has -> { if (has != null && !test(has.getPredicate())) { return PredicatesHolderFactory.abort(); } return PredicatesHolderFactory.empty(); }).collect(Collectors.toSet()); return PredicatesHolderFactory.create(predicatesHolder.getClause(), predicates); }