/** * See {@link com.hazelcast.query.Predicates#between(String, Comparable, Comparable)}. */ public static <K, V> Predicate<K, V> between(String attribute, Comparable from, Comparable to) { return com.hazelcast.query.Predicates.between(attribute, from, to); }
public PredicateBuilder between(Comparable from, Comparable to) { return addPredicate(Predicates.between(qb.getAttribute(), from, to)); }
public PredicateBuilder between(Comparable from, Comparable to) { return addPredicate(Predicates.between(qb.getAttribute(), from, to)); }
private Predicate<?, ?> fromInequalityVariant(Type type, String property, Iterator<Comparable<?>> iterator) { switch (type) { case AFTER: case GREATER_THAN: return Predicates.greaterThan(property, iterator.next()); case GREATER_THAN_EQUAL: return Predicates.greaterEqual(property, iterator.next()); case BEFORE: case LESS_THAN: return Predicates.lessThan(property, iterator.next()); case LESS_THAN_EQUAL: return Predicates.lessEqual(property, iterator.next()); case BETWEEN: Comparable<?> first = iterator.next(); Comparable<?> second = iterator.next(); return Predicates.between(property, first, second); default: throw new InvalidDataAccessApiUsageException(String.format("Logic error for '%s' in query", type)); } }
public static void main(String[] args) { // Start the Embedded Hazelcast Cluster Member. HazelcastInstance hz = Hazelcast.newHazelcastInstance(); // Get a Distributed Map called "users" IMap<String, User> users = hz.getMap("users"); // Add some users to the Distributed Map generateUsers(users); // Create a Predicate from a String (a SQL like Where clause) Predicate sqlQuery = new SqlPredicate("active AND age BETWEEN 18 AND 21)"); // Creating the same Predicate as above but with a builder Predicate criteriaQuery = Predicates.and( Predicates.equal("active", true), Predicates.between("age", 18, 21) ); // Get result collections using the two different Predicates Collection<User> result1 = users.values(sqlQuery); Collection<User> result2 = users.values(criteriaQuery); // Print out the results System.out.println(result1); System.out.println(result2); // Shutdown the Hazelcast Cluster Member hz.shutdown(); }
Object from = toValue(tokens.remove(position), mapPhrases); Object to = toValue(tokens.remove(position), mapPhrases); setOrAdd(tokens, position, between((String) expression, (Comparable) from, (Comparable) to)); } else if ("AND".equalsIgnoreCase(token)) { int position = i - 2;
Object from = toValue(tokens.remove(position), mapPhrases); Object to = toValue(tokens.remove(position), mapPhrases); setOrAdd(tokens, position, between((String) expression, (Comparable) from, (Comparable) to)); } else if ("AND".equalsIgnoreCase(token)) { int position = i - 2;
public static void main(String[] args) { ClientConfig clientConfig = new ClientConfig(); clientConfig.getSerializationConfig() .addPortableFactory(ThePortableFactory.FACTORY_ID, new ThePortableFactory()); // Start the Hazelcast Client and connect to an already running Hazelcast Cluster on 127.0.0.1 HazelcastInstance hz = HazelcastClient.newHazelcastClient(clientConfig); // Get a Distributed Map called "users" IMap<String, User> users = hz.getMap("users"); // Add some users to the Distributed Map generateUsers(users); // Create a Predicate from a String (a SQL like Where clause) Predicate sqlQuery = new SqlPredicate("active AND age BETWEEN 18 AND 21)"); // Creating the same Predicate as above but with a builder Predicate criteriaQuery = Predicates.and( Predicates.equal("active", true), Predicates.between("age", 18, 21) ); // Get result collections using the two different Predicates Collection<User> result1 = users.values(sqlQuery); Collection<User> result2 = users.values(criteriaQuery); // Print out the results System.out.println(result1); System.out.println(result2); // Shutdown this Hazelcast Client hz.shutdown(); } }