- Common ways to obtain RedisZSetCommands$Range$Boundary
private void myMethod () {RedisZSetCommands$Range$Boundary r =
RedisZSetCommands.Range redisZSetCommandsRange;redisZSetCommandsRange.getMin()
RedisZSetCommands.Range redisZSetCommandsRange;redisZSetCommandsRange.getMax()
- Smart code suggestions by Codota
}
/** * Converts a given {@link Boundary} to its binary representation suitable for ZRANGEBYLEX command. * * @param boundary * @return * @since 1.6 */ public static byte[] boundaryToBytesForZRangeByLex(@Nullable Boundary boundary, byte[] defaultValue) { if (boundary == null || boundary.getValue() == null) { return defaultValue; } return boundaryToBytes(boundary, toBytes("["), toBytes("(")); }
@Override public Set<byte[]> zRangeByLex(byte[] key, Range range) { List<Object> params = new ArrayList<Object>(); params.add(key); if (range.getMin() != null) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-"); params.add(min); } else { params.add("-"); } if (range.getMax() != null) { String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+"); params.add(max); } else { params.add("+"); } return read(key, ByteArrayCodec.INSTANCE, ZRANGEBYLEX, params.toArray()); }
/** * Greater Than Equals * * @param min must not be {@literal null}. * @return this. */ public Range gte(Object min) { Assert.notNull(min, "Min already set for range."); this.min = new Boundary(min, true); return this; }
@Override public Long zRemRangeByScore(byte[] key, Range range) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-inf"); String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+inf"); return write(key, StringCodec.INSTANCE, ZREMRANGEBYSCORE, key, min, max); }
private static String boundaryToString(Boundary boundary, String inclPrefix, String exclPrefix) { String prefix = boundary.isIncluding() ? inclPrefix : exclPrefix; String value = null; if (boundary.getValue() instanceof byte[]) { value = toString((byte[]) boundary.getValue()); } else { value = boundary.getValue().toString(); } return prefix + value; }
/** * Less Than * * @param max must not be {@literal null}. * @return this. */ public Range lt(Object max) { Assert.notNull(max, "Max already set for range."); this.max = new Boundary(max, false); return this; }
/** * Less Then Equals * * @param max must not be {@literal null}. * @return this. */ public Range lte(Object max) { Assert.notNull(max, "Max already set for range."); this.max = new Boundary(max, true); return this; }
public static String boundaryToStringForZRange(Boundary boundary, String defaultValue) { if (boundary == null || boundary.getValue() == null) { return defaultValue; } return boundaryToString(boundary, "", "("); }
/** * Converts a given {@link Boundary} to its binary representation suitable for ZRANGEBYLEX command. * * @param boundary * @return * @since 1.6 */ public static String boundaryToBytesForZRangeByLex(Boundary boundary, byte[] defaultValue) { if (boundary == null || boundary.getValue() == null) { return toString(defaultValue); } return boundaryToBytes(boundary, toBytes("["), toBytes("(")); }
static Boundary infinite() { return new Boundary(null, true); }
/** * Converts a given {@link Boundary} to its binary representation suitable for {@literal ZRANGEBY*} commands, despite * {@literal ZRANGEBYLEX}. * * @param boundary * @param defaultValue * @return * @since 1.6 */ public static String boundaryToBytesForZRange(Boundary boundary, byte[] defaultValue) { if (boundary == null || boundary.getValue() == null) { return toString(defaultValue); } return boundaryToBytes(boundary, new byte[] {}, toBytes("(")); }
@Override public Set<byte[]> zRangeByLex(byte[] key, Range range) { List<Object> params = new ArrayList<Object>(); params.add(key); if (range.getMin() != null) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-"); params.add(min); } else { params.add("-"); } if (range.getMax() != null) { String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+"); params.add(max); } else { params.add("+"); } return read(key, ByteArrayCodec.INSTANCE, ZRANGEBYLEX, params.toArray()); }
/** * Converts a given {@link Boundary} to its binary representation suitable for {@literal ZRANGEBY*} commands, despite * {@literal ZRANGEBYLEX}. * * @param boundary * @param defaultValue * @return * @since 1.6 */ public static byte[] boundaryToBytesForZRange(@Nullable Boundary boundary, byte[] defaultValue) { if (boundary == null || boundary.getValue() == null) { return defaultValue; } return boundaryToBytes(boundary, new byte[] {}, toBytes("(")); }
@Override public Set<byte[]> zRangeByLex(byte[] key, Range range) { List<Object> params = new ArrayList<Object>(); params.add(key); if (range.getMin() != null) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-"); params.add(min); } else { params.add("-"); } if (range.getMax() != null) { String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+"); params.add(max); } else { params.add("+"); } return read(key, ByteArrayCodec.INSTANCE, ZRANGEBYLEX, params.toArray()); }
private static byte[] boundaryToBytes(Boundary boundary, byte[] inclPrefix, byte[] exclPrefix) { byte[] prefix = boundary.isIncluding() ? inclPrefix : exclPrefix; byte[] value = null; if (boundary.getValue() instanceof byte[]) { value = (byte[]) boundary.getValue(); } else if (boundary.getValue() instanceof Double) { value = toBytes((Double) boundary.getValue()); } else if (boundary.getValue() instanceof Long) { value = toBytes((Long) boundary.getValue()); } else if (boundary.getValue() instanceof Integer) { value = toBytes((Integer) boundary.getValue()); } else if (boundary.getValue() instanceof String) { value = toBytes((String) boundary.getValue()); } else { throw new IllegalArgumentException(String.format("Cannot convert %s to binary format", boundary.getValue())); } ByteBuffer buffer = ByteBuffer.allocate(prefix.length + value.length); buffer.put(prefix); buffer.put(value); return buffer.array(); }
@Override public Set<byte[]> zRangeByLex(byte[] key, Range range) { List<Object> params = new ArrayList<Object>(); params.add(key); if (range.getMin() != null) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-"); params.add(min); } else { params.add("-"); } if (range.getMax() != null) { String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+"); params.add(max); } else { params.add("+"); } return read(key, ByteArrayCodec.INSTANCE, ZRANGEBYLEX, params.toArray()); }
private static String boundaryToBytes(Boundary boundary, byte[] inclPrefix, byte[] exclPrefix) { byte[] prefix = boundary.isIncluding() ? inclPrefix : exclPrefix; byte[] value = null; if (boundary.getValue() instanceof byte[]) { value = (byte[]) boundary.getValue(); } else if (boundary.getValue() instanceof Double) { value = toBytes((Double) boundary.getValue()); } else if (boundary.getValue() instanceof Long) { value = toBytes((Long) boundary.getValue()); } else if (boundary.getValue() instanceof Integer) { value = toBytes((Integer) boundary.getValue()); } else if (boundary.getValue() instanceof String) { value = toBytes((String) boundary.getValue()); } else { throw new IllegalArgumentException(String.format("Cannot convert %s to binary format", boundary.getValue())); } ByteBuffer buffer = ByteBuffer.allocate(prefix.length + value.length); buffer.put(prefix); buffer.put(value); return toString(ByteUtils.getBytes(buffer)); }
@Override public Set<Tuple> zRevRangeByScoreWithScores(byte[] key, Range range, Limit limit) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-inf"); String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+inf"); List<Object> args = new ArrayList<Object>(); args.add(key); args.add(max); args.add(min); args.add("WITHSCORES"); if (limit != null) { args.add("LIMIT"); args.add(limit.getOffset()); args.add(limit.getCount()); } return read(key, ByteArrayCodec.INSTANCE, ZREVRANGEBYSCOREWITHSCORES, args.toArray()); }
private static Converter<org.springframework.data.redis.connection.RedisZSetCommands.Range, Range.Boundary<?>> rangeToBoundaryArgumentConverter( boolean upper, boolean convertNumberToBytes) { return (source) -> { Boundary sourceBoundary = upper ? source.getMax() : source.getMin(); if (sourceBoundary == null || sourceBoundary.getValue() == null) { return Range.Boundary.unbounded(); } boolean inclusive = sourceBoundary.isIncluding(); Object value = sourceBoundary.getValue(); if (value instanceof Number) { if (convertNumberToBytes) { value = value.toString(); } else { return inclusive ? Range.Boundary.including((Number) value) : Range.Boundary.excluding((Number) value); } } if (value instanceof String) { if (!StringUtils.hasText((String) value) || ObjectUtils.nullSafeEquals(value, "+") || ObjectUtils.nullSafeEquals(value, "-")) { return Range.Boundary.unbounded(); } return inclusive ? Range.Boundary.including(value.toString().getBytes(LettuceCharsets.UTF8)) : Range.Boundary.excluding(value.toString().getBytes(LettuceCharsets.UTF8)); } return inclusive ? Range.Boundary.including((byte[]) value) : Range.Boundary.excluding((byte[]) value); }; }