what-the-bank/sources/com/google/common/collect/ContiguousSet.java

124 lines
5.3 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package com.google.common.collect;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSortedSet;
import java.lang.Comparable;
import java.util.NoSuchElementException;
/* loaded from: classes2.dex */
public abstract class ContiguousSet<C extends Comparable> extends ImmutableSortedSet<C> {
final DiscreteDomain<C> domain;
/* JADX INFO: Access modifiers changed from: package-private */
@Override // com.google.common.collect.ImmutableSortedSet
public abstract ContiguousSet<C> headSetImpl(C c, boolean z);
public abstract ContiguousSet<C> intersection(ContiguousSet<C> contiguousSet);
public abstract Range<C> range();
public abstract Range<C> range(BoundType boundType, BoundType boundType2);
/* JADX INFO: Access modifiers changed from: package-private */
@Override // com.google.common.collect.ImmutableSortedSet
public abstract ContiguousSet<C> subSetImpl(C c, boolean z, C c2, boolean z2);
/* JADX INFO: Access modifiers changed from: package-private */
@Override // com.google.common.collect.ImmutableSortedSet
public abstract ContiguousSet<C> tailSetImpl(C c, boolean z);
public static <C extends Comparable> ContiguousSet<C> create(Range<C> range, DiscreteDomain<C> discreteDomain) {
Preconditions.checkNotNull(range);
Preconditions.checkNotNull(discreteDomain);
try {
Range<C> intersection = !range.hasLowerBound() ? range.intersection(Range.atLeast(discreteDomain.minValue())) : range;
if (!range.hasUpperBound()) {
intersection = intersection.intersection(Range.atMost(discreteDomain.maxValue()));
}
if (intersection.isEmpty() || Range.compareOrThrow(range.lowerBound.leastValueAbove(discreteDomain), range.upperBound.greatestValueBelow(discreteDomain)) > 0) {
return new EmptyContiguousSet(discreteDomain);
}
return new RegularContiguousSet(intersection, discreteDomain);
} catch (NoSuchElementException e) {
throw new IllegalArgumentException(e);
}
}
public static ContiguousSet<Integer> closed(int i, int i2) {
return create(Range.closed(Integer.valueOf(i), Integer.valueOf(i2)), DiscreteDomain.integers());
}
public static ContiguousSet<Long> closed(long j, long j2) {
return create(Range.closed(Long.valueOf(j), Long.valueOf(j2)), DiscreteDomain.longs());
}
public static ContiguousSet<Integer> closedOpen(int i, int i2) {
return create(Range.closedOpen(Integer.valueOf(i), Integer.valueOf(i2)), DiscreteDomain.integers());
}
public static ContiguousSet<Long> closedOpen(long j, long j2) {
return create(Range.closedOpen(Long.valueOf(j), Long.valueOf(j2)), DiscreteDomain.longs());
}
/* JADX INFO: Access modifiers changed from: package-private */
public ContiguousSet(DiscreteDomain<C> discreteDomain) {
super(Ordering.natural());
this.domain = discreteDomain;
}
/* JADX WARN: Multi-variable type inference failed */
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet, java.util.SortedSet
public ContiguousSet<C> headSet(C c) {
return headSetImpl((ContiguousSet<C>) Preconditions.checkNotNull(c), false);
}
/* JADX WARN: Multi-variable type inference failed */
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet
public ContiguousSet<C> headSet(C c, boolean z) {
return headSetImpl((ContiguousSet<C>) Preconditions.checkNotNull(c), z);
}
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet, java.util.SortedSet
public ContiguousSet<C> subSet(C c, C c2) {
Preconditions.checkNotNull(c);
Preconditions.checkNotNull(c2);
Preconditions.checkArgument(comparator().compare(c, c2) <= 0);
return subSetImpl((boolean) c, true, (boolean) c2, false);
}
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet
public ContiguousSet<C> subSet(C c, boolean z, C c2, boolean z2) {
Preconditions.checkNotNull(c);
Preconditions.checkNotNull(c2);
Preconditions.checkArgument(comparator().compare(c, c2) <= 0);
return subSetImpl((boolean) c, z, (boolean) c2, z2);
}
/* JADX WARN: Multi-variable type inference failed */
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet, java.util.SortedSet
public ContiguousSet<C> tailSet(C c) {
return tailSetImpl((ContiguousSet<C>) Preconditions.checkNotNull(c), true);
}
/* JADX WARN: Multi-variable type inference failed */
@Override // com.google.common.collect.ImmutableSortedSet, java.util.NavigableSet
public ContiguousSet<C> tailSet(C c, boolean z) {
return tailSetImpl((ContiguousSet<C>) Preconditions.checkNotNull(c), z);
}
@Override // com.google.common.collect.ImmutableSortedSet
ImmutableSortedSet<C> createDescendingSet() {
return new DescendingImmutableSortedSet(this);
}
@Override // java.util.AbstractCollection
public String toString() {
return range().toString();
}
@Deprecated
public static <E> ImmutableSortedSet.Builder<E> builder() {
throw new UnsupportedOperationException();
}
}