package com.fasterxml.jackson.datatype.guava.deser.util;

import com.google.common.collect.BoundType;
import com.google.common.collect.Range;

A factory for creating Guava Ranges that is compatible with Guava 14 and later.

NOTE: up until Jackson 2.9.x, supported versions from Guava 10 and higher; support for older versions dropped in Jackson 2.10.

/** * A factory for creating Guava {@link Range}s that is compatible with Guava 14 and later. *<p> * NOTE: up until Jackson 2.9.x, supported versions from Guava 10 and higher; support for * older versions dropped in Jackson 2.10. */
public class RangeFactory { public static <C extends Comparable<?>> Range<C> open(C lowerEndpoint, C upperEndpoint) { return range(lowerEndpoint, BoundType.OPEN, upperEndpoint, BoundType.OPEN); } public static <C extends Comparable<?>> Range<C> openClosed(C lowerEndpoint, C upperEndpoint) { return range(lowerEndpoint, BoundType.OPEN, upperEndpoint, BoundType.CLOSED); } public static <C extends Comparable<?>> Range<C> closedOpen(C lowerEndpoint, C upperEndpoint) { return range(lowerEndpoint, BoundType.CLOSED, upperEndpoint, BoundType.OPEN); } public static <C extends Comparable<?>> Range<C> closed(C lowerEndpoint, C upperEndpoint) { return range(lowerEndpoint, BoundType.CLOSED, upperEndpoint, BoundType.CLOSED); } public static <C extends Comparable<?>> Range<C> range(final C lowerEndpoint, final BoundType lowerBoundType, final C upperEndpoint, final BoundType upperBoundType) { return Range.range(lowerEndpoint, lowerBoundType, upperEndpoint, upperBoundType); } public static <C extends Comparable<?>> Range<C> greaterThan(C lowerEndpoint) { return downTo(lowerEndpoint, BoundType.OPEN); } public static <C extends Comparable<?>> Range<C> atLeast(C lowerEndpoint) { return downTo(lowerEndpoint, BoundType.CLOSED); } public static <C extends Comparable<?>> Range<C> downTo(final C lowerEndpoint, final BoundType lowerBoundType) { return Range.downTo(lowerEndpoint, lowerBoundType); } public static <C extends Comparable<?>> Range<C> lessThan(C upperEndpoint) { return upTo(upperEndpoint, BoundType.OPEN); } public static <C extends Comparable<?>> Range<C> atMost(C upperEndpoint) { return upTo(upperEndpoint, BoundType.CLOSED); } public static <C extends Comparable<?>> Range<C> upTo(final C upperEndpoint, final BoundType upperBoundType) { return Range.upTo(upperEndpoint, upperBoundType); } public static <C extends Comparable<?>> Range<C> all() { return Range.all(); } public static <C extends Comparable<?>> Range<C> singleton(final C value) { return Range.singleton(value); } // prevent instantiation private RangeFactory() { } }