@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@NullableDecl Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@NullableDecl Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && lowerBoundType.equals(r.lowerBoundType) && upperBoundType.equals(r.upperBoundType) && Objects.equal(lowerEndpoint, r.lowerEndpoint) && Objects.equal(upperEndpoint, r.upperEndpoint); } return false; }
public NamespaceBundle(NamespaceName nsname, Range<Long> keyRange, NamespaceBundleFactory factory) { this.nsname = checkNotNull(nsname); this.keyRange = checkNotNull(keyRange); checkArgument(this.keyRange.lowerBoundType().equals(BoundType.CLOSED), "Invalid hash range. Lower Endpoint has to be inclusive"); checkArgument( (this.keyRange.upperEndpoint().equals(NamespaceBundles.FULL_UPPER_BOUND) && this.keyRange.upperBoundType().equals(BoundType.CLOSED)) || (!this.keyRange.upperEndpoint().equals(NamespaceBundles.FULL_UPPER_BOUND) && this.keyRange.upperBoundType().equals(BoundType.OPEN)), "Invalid hash range. Upper Endpoint should be exclusive unless it is 0xffffffff"); checkArgument(!this.keyRange.isEmpty(), "Cannot create bundle object for an empty key range"); this.factory = checkNotNull(factory); }
public NamespaceBundle(NamespaceName nsname, Range<Long> keyRange, NamespaceBundleFactory factory) { this.nsname = checkNotNull(nsname); this.keyRange = checkNotNull(keyRange); checkArgument(this.keyRange.lowerBoundType().equals(BoundType.CLOSED), "Invalid hash range. Lower Endpoint has to be inclusive"); checkArgument( (this.keyRange.upperEndpoint().equals(NamespaceBundles.FULL_UPPER_BOUND) && this.keyRange.upperBoundType().equals(BoundType.CLOSED)) || (!this.keyRange.upperEndpoint().equals(NamespaceBundles.FULL_UPPER_BOUND) && this.keyRange.upperBoundType().equals(BoundType.OPEN)), "Invalid hash range. Upper Endpoint should be exclusive unless it is 0xffffffff"); checkArgument(!this.keyRange.isEmpty(), "Cannot create bundle object for an empty key range"); this.factory = checkNotNull(factory); }
/** * Generates a Predicate that only accepts the Match Results within a range. The range may be closed or open at each * of the boundaries. {@code BoundType.CLOSED} means that the boundary should also be accepted. {@code BoundType.OPEN} * on the other indicates that the boundary itself should not be accepted. * * @param minMatchType the matchType that defines the lower boundary * @param minBound the lower {@code BoundType} * @param maxMatchType the matchType that defines the upper boundary * @param maxBound the upper {@code BoundType} * @param <T> a subclass of MatchResult * @param <S> a subclass of MatchType * @return the Predicate */ public static <T extends MatchResult, S extends MatchType> Predicate<T> withinRange(S minMatchType, BoundType minBound, S maxMatchType, BoundType maxBound) { Predicate<T> lowerPredicate; Predicate<T> upperPredicate; if (minBound.equals(BoundType.CLOSED)) { lowerPredicate = greaterOrEqualTo(minMatchType); } else { lowerPredicate = greaterThan(minMatchType); } if (maxBound.equals(BoundType.CLOSED)) { upperPredicate = lowerOrEqualTo(maxMatchType); } else { upperPredicate = lowerThan(maxMatchType); } return Predicates.and(lowerPredicate, upperPredicate); }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@NullableDecl Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
@Override public boolean equals(@Nullable Object obj) { if (obj instanceof GeneralRange) { GeneralRange<?> r = (GeneralRange<?>) obj; return comparator.equals(r.comparator) && hasLowerBound == r.hasLowerBound && hasUpperBound == r.hasUpperBound && getLowerBoundType().equals(r.getLowerBoundType()) && getUpperBoundType().equals(r.getUpperBoundType()) && Objects.equal(getLowerEndpoint(), r.getLowerEndpoint()) && Objects.equal(getUpperEndpoint(), r.getUpperEndpoint()); } return false; }
public static Expr createExpr(Node node, Range<? extends NodeHolder> range) { Expr n = ExprUtils.makeNode(node); List<Expr> parts = new ArrayList<>(); if(RangeUtils.isSingleton(range)) { parts.add(new E_Equals(n, ExprUtils.makeNode(range.lowerEndpoint().getNode()))); } else { if(range.hasLowerBound()) { if(range.lowerBoundType().equals(BoundType.OPEN)) { parts.add(new E_GreaterThan(n, ExprUtils.makeNode(range.lowerEndpoint().getNode()))); } else { parts.add(new E_GreaterThanOrEqual(n, ExprUtils.makeNode(range.lowerEndpoint().getNode()))); } } if(range.hasUpperBound()) { if(range.upperBoundType().equals(BoundType.OPEN)) { parts.add(new E_LessThan(n, ExprUtils.makeNode(range.upperEndpoint().getNode()))); } else { parts.add(new E_LessThanOrEqual(n, ExprUtils.makeNode(range.upperEndpoint().getNode()))); } } } Expr result = ExprUtils.andifyBalanced(parts); return result; }