skaiacraft-obsidian-launcher/src/com/google/common/base/Predicates.java
2022-08-09 23:01:55 -07:00

526 lines
17 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.google.common.base;
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
@GwtCompatible(emulated=true)
public final class Predicates {
private static final Joiner COMMA_JOINER = Joiner.on(',');
private Predicates() {
}
@GwtCompatible(serializable=true)
public static <T> Predicate<T> alwaysTrue() {
return ObjectPredicate.ALWAYS_TRUE.withNarrowedType();
}
@GwtCompatible(serializable=true)
public static <T> Predicate<T> alwaysFalse() {
return ObjectPredicate.ALWAYS_FALSE.withNarrowedType();
}
@GwtCompatible(serializable=true)
public static <T> Predicate<T> isNull() {
return ObjectPredicate.IS_NULL.withNarrowedType();
}
@GwtCompatible(serializable=true)
public static <T> Predicate<T> notNull() {
return ObjectPredicate.NOT_NULL.withNarrowedType();
}
public static <T> Predicate<T> not(Predicate<T> predicate) {
return new NotPredicate<T>(predicate);
}
public static <T> Predicate<T> and(Iterable<? extends Predicate<? super T>> components) {
return new AndPredicate(Predicates.defensiveCopy(components));
}
public static <T> Predicate<T> and(Predicate<? super T> ... components) {
return new AndPredicate(Predicates.defensiveCopy(components));
}
public static <T> Predicate<T> and(Predicate<? super T> first, Predicate<? super T> second) {
return new AndPredicate(Predicates.asList(Preconditions.checkNotNull(first), Preconditions.checkNotNull(second)));
}
public static <T> Predicate<T> or(Iterable<? extends Predicate<? super T>> components) {
return new OrPredicate(Predicates.defensiveCopy(components));
}
public static <T> Predicate<T> or(Predicate<? super T> ... components) {
return new OrPredicate(Predicates.defensiveCopy(components));
}
public static <T> Predicate<T> or(Predicate<? super T> first, Predicate<? super T> second) {
return new OrPredicate(Predicates.asList(Preconditions.checkNotNull(first), Preconditions.checkNotNull(second)));
}
public static <T> Predicate<T> equalTo(@Nullable T target) {
return target == null ? Predicates.isNull() : new IsEqualToPredicate(target);
}
@GwtIncompatible(value="Class.isInstance")
public static Predicate<Object> instanceOf(Class<?> clazz) {
return new InstanceOfPredicate(clazz);
}
@GwtIncompatible(value="Class.isAssignableFrom")
@Beta
public static Predicate<Class<?>> assignableFrom(Class<?> clazz) {
return new AssignableFromPredicate(clazz);
}
public static <T> Predicate<T> in(Collection<? extends T> target) {
return new InPredicate(target);
}
public static <A, B> Predicate<A> compose(Predicate<B> predicate, Function<A, ? extends B> function) {
return new CompositionPredicate(predicate, function);
}
@GwtIncompatible(value="java.util.regex.Pattern")
public static Predicate<CharSequence> containsPattern(String pattern) {
return new ContainsPatternFromStringPredicate(pattern);
}
@GwtIncompatible(value="java.util.regex.Pattern")
public static Predicate<CharSequence> contains(Pattern pattern) {
return new ContainsPatternPredicate(pattern);
}
private static <T> List<Predicate<? super T>> asList(Predicate<? super T> first, Predicate<? super T> second) {
return Arrays.asList(first, second);
}
private static <T> List<T> defensiveCopy(T ... array) {
return Predicates.defensiveCopy(Arrays.asList(array));
}
static <T> List<T> defensiveCopy(Iterable<T> iterable) {
ArrayList<T> list = new ArrayList<T>();
for (T element : iterable) {
list.add(Preconditions.checkNotNull(element));
}
return list;
}
@GwtIncompatible(value="Only used by other GWT-incompatible code.")
private static class ContainsPatternFromStringPredicate
extends ContainsPatternPredicate {
private static final long serialVersionUID = 0L;
ContainsPatternFromStringPredicate(String string) {
super(Pattern.compile(string));
}
@Override
public String toString() {
String string = String.valueOf(String.valueOf(this.pattern.pattern()));
return new StringBuilder(28 + string.length()).append("Predicates.containsPattern(").append(string).append(")").toString();
}
}
@GwtIncompatible(value="Only used by other GWT-incompatible code.")
private static class ContainsPatternPredicate
implements Predicate<CharSequence>,
Serializable {
final Pattern pattern;
private static final long serialVersionUID = 0L;
ContainsPatternPredicate(Pattern pattern) {
this.pattern = Preconditions.checkNotNull(pattern);
}
@Override
public boolean apply(CharSequence t) {
return this.pattern.matcher(t).find();
}
public int hashCode() {
return Objects.hashCode(this.pattern.pattern(), this.pattern.flags());
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof ContainsPatternPredicate) {
ContainsPatternPredicate that = (ContainsPatternPredicate)obj;
return Objects.equal(this.pattern.pattern(), that.pattern.pattern()) && Objects.equal(this.pattern.flags(), that.pattern.flags());
}
return false;
}
public String toString() {
String patternString = Objects.toStringHelper(this.pattern).add("pattern", this.pattern.pattern()).add("pattern.flags", this.pattern.flags()).toString();
String string = String.valueOf(String.valueOf(patternString));
return new StringBuilder(21 + string.length()).append("Predicates.contains(").append(string).append(")").toString();
}
}
private static class CompositionPredicate<A, B>
implements Predicate<A>,
Serializable {
final Predicate<B> p;
final Function<A, ? extends B> f;
private static final long serialVersionUID = 0L;
private CompositionPredicate(Predicate<B> p, Function<A, ? extends B> f) {
this.p = Preconditions.checkNotNull(p);
this.f = Preconditions.checkNotNull(f);
}
@Override
public boolean apply(@Nullable A a) {
return this.p.apply(this.f.apply(a));
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof CompositionPredicate) {
CompositionPredicate that = (CompositionPredicate)obj;
return this.f.equals(that.f) && this.p.equals(that.p);
}
return false;
}
public int hashCode() {
return this.f.hashCode() ^ this.p.hashCode();
}
public String toString() {
String string = String.valueOf(String.valueOf(this.p.toString()));
String string2 = String.valueOf(String.valueOf(this.f.toString()));
return new StringBuilder(2 + string.length() + string2.length()).append(string).append("(").append(string2).append(")").toString();
}
}
private static class InPredicate<T>
implements Predicate<T>,
Serializable {
private final Collection<?> target;
private static final long serialVersionUID = 0L;
private InPredicate(Collection<?> target) {
this.target = Preconditions.checkNotNull(target);
}
@Override
public boolean apply(@Nullable T t) {
try {
return this.target.contains(t);
}
catch (NullPointerException e) {
return false;
}
catch (ClassCastException e) {
return false;
}
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof InPredicate) {
InPredicate that = (InPredicate)obj;
return this.target.equals(that.target);
}
return false;
}
public int hashCode() {
return this.target.hashCode();
}
public String toString() {
String string = String.valueOf(String.valueOf(this.target));
return new StringBuilder(15 + string.length()).append("Predicates.in(").append(string).append(")").toString();
}
}
@GwtIncompatible(value="Class.isAssignableFrom")
private static class AssignableFromPredicate
implements Predicate<Class<?>>,
Serializable {
private final Class<?> clazz;
private static final long serialVersionUID = 0L;
private AssignableFromPredicate(Class<?> clazz) {
this.clazz = Preconditions.checkNotNull(clazz);
}
@Override
public boolean apply(Class<?> input) {
return this.clazz.isAssignableFrom(input);
}
public int hashCode() {
return this.clazz.hashCode();
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof AssignableFromPredicate) {
AssignableFromPredicate that = (AssignableFromPredicate)obj;
return this.clazz == that.clazz;
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(this.clazz.getName()));
return new StringBuilder(27 + string.length()).append("Predicates.assignableFrom(").append(string).append(")").toString();
}
}
@GwtIncompatible(value="Class.isInstance")
private static class InstanceOfPredicate
implements Predicate<Object>,
Serializable {
private final Class<?> clazz;
private static final long serialVersionUID = 0L;
private InstanceOfPredicate(Class<?> clazz) {
this.clazz = Preconditions.checkNotNull(clazz);
}
@Override
public boolean apply(@Nullable Object o) {
return this.clazz.isInstance(o);
}
public int hashCode() {
return this.clazz.hashCode();
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof InstanceOfPredicate) {
InstanceOfPredicate that = (InstanceOfPredicate)obj;
return this.clazz == that.clazz;
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(this.clazz.getName()));
return new StringBuilder(23 + string.length()).append("Predicates.instanceOf(").append(string).append(")").toString();
}
}
private static class IsEqualToPredicate<T>
implements Predicate<T>,
Serializable {
private final T target;
private static final long serialVersionUID = 0L;
private IsEqualToPredicate(T target) {
this.target = target;
}
@Override
public boolean apply(T t) {
return this.target.equals(t);
}
public int hashCode() {
return this.target.hashCode();
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof IsEqualToPredicate) {
IsEqualToPredicate that = (IsEqualToPredicate)obj;
return this.target.equals(that.target);
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(this.target));
return new StringBuilder(20 + string.length()).append("Predicates.equalTo(").append(string).append(")").toString();
}
}
private static class OrPredicate<T>
implements Predicate<T>,
Serializable {
private final List<? extends Predicate<? super T>> components;
private static final long serialVersionUID = 0L;
private OrPredicate(List<? extends Predicate<? super T>> components) {
this.components = components;
}
@Override
public boolean apply(@Nullable T t) {
for (int i = 0; i < this.components.size(); ++i) {
if (!this.components.get(i).apply(t)) continue;
return true;
}
return false;
}
public int hashCode() {
return this.components.hashCode() + 87855567;
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof OrPredicate) {
OrPredicate that = (OrPredicate)obj;
return this.components.equals(that.components);
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(COMMA_JOINER.join(this.components)));
return new StringBuilder(15 + string.length()).append("Predicates.or(").append(string).append(")").toString();
}
}
private static class AndPredicate<T>
implements Predicate<T>,
Serializable {
private final List<? extends Predicate<? super T>> components;
private static final long serialVersionUID = 0L;
private AndPredicate(List<? extends Predicate<? super T>> components) {
this.components = components;
}
@Override
public boolean apply(@Nullable T t) {
for (int i = 0; i < this.components.size(); ++i) {
if (this.components.get(i).apply(t)) continue;
return false;
}
return true;
}
public int hashCode() {
return this.components.hashCode() + 306654252;
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof AndPredicate) {
AndPredicate that = (AndPredicate)obj;
return this.components.equals(that.components);
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(COMMA_JOINER.join(this.components)));
return new StringBuilder(16 + string.length()).append("Predicates.and(").append(string).append(")").toString();
}
}
private static class NotPredicate<T>
implements Predicate<T>,
Serializable {
final Predicate<T> predicate;
private static final long serialVersionUID = 0L;
NotPredicate(Predicate<T> predicate) {
this.predicate = Preconditions.checkNotNull(predicate);
}
@Override
public boolean apply(@Nullable T t) {
return !this.predicate.apply(t);
}
public int hashCode() {
return ~this.predicate.hashCode();
}
@Override
public boolean equals(@Nullable Object obj) {
if (obj instanceof NotPredicate) {
NotPredicate that = (NotPredicate)obj;
return this.predicate.equals(that.predicate);
}
return false;
}
public String toString() {
String string = String.valueOf(String.valueOf(this.predicate.toString()));
return new StringBuilder(16 + string.length()).append("Predicates.not(").append(string).append(")").toString();
}
}
static enum ObjectPredicate implements Predicate<Object>
{
ALWAYS_TRUE{
@Override
public boolean apply(@Nullable Object o) {
return true;
}
public String toString() {
return "Predicates.alwaysTrue()";
}
}
,
ALWAYS_FALSE{
@Override
public boolean apply(@Nullable Object o) {
return false;
}
public String toString() {
return "Predicates.alwaysFalse()";
}
}
,
IS_NULL{
@Override
public boolean apply(@Nullable Object o) {
return o == null;
}
public String toString() {
return "Predicates.isNull()";
}
}
,
NOT_NULL{
@Override
public boolean apply(@Nullable Object o) {
return o != null;
}
public String toString() {
return "Predicates.notNull()";
}
};
<T> Predicate<T> withNarrowedType() {
return this;
}
}
}