jimu-decompiled/sources/com/google/common/base/CharMatcher.java
2025-05-13 19:24:51 +02:00

491 lines
13 KiB
Java
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.google.common.base;
import java.util.Arrays;
/* loaded from: classes.dex */
public abstract class CharMatcher implements Predicate<Character> {
private static final class Any extends NamedFastMatcher {
static final Any b = new Any();
private Any() {
super("CharMatcher.any()");
}
@Override // com.google.common.base.CharMatcher
public int a(CharSequence charSequence, int i) {
int length = charSequence.length();
Preconditions.b(i, length);
if (i == length) {
return -1;
}
return i;
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return true;
}
}
private static final class Ascii extends NamedFastMatcher {
static final Ascii b = new Ascii();
Ascii() {
super("CharMatcher.ascii()");
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return c <= 127;
}
}
private static final class BreakingWhitespace extends CharMatcher {
static final CharMatcher a = new BreakingWhitespace();
private BreakingWhitespace() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
if (c != ' ' && c != 133 && c != 5760) {
if (c == 8199) {
return false;
}
if (c != 8287 && c != 12288 && c != 8232 && c != 8233) {
switch (c) {
case '\t':
case '\n':
case 11:
case '\f':
case '\r':
break;
default:
return c >= 8192 && c <= 8202;
}
}
}
return true;
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.breakingWhitespace()";
}
}
private static final class Digit extends RangesMatcher {
static final Digit d = new Digit();
private Digit() {
super("CharMatcher.digit()", p(), o());
}
private static char[] o() {
char[] cArr = new char[31];
for (int i = 0; i < 31; i++) {
cArr[i] = (char) ("0٠۰߀႐០᠐᥆᧐᭐᮰᱀᱐꘠꣐꤀꩐".charAt(i) + '\t');
}
return cArr;
}
private static char[] p() {
return "0٠۰߀႐០᠐᥆᧐᭐᮰᱀᱐꘠꣐꤀꩐".toCharArray();
}
}
static abstract class FastMatcher extends CharMatcher {
FastMatcher() {
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
}
private static final class InRange extends FastMatcher {
private final char a;
private final char b;
InRange(char c, char c2) {
Preconditions.a(c2 >= c);
this.a = c;
this.b = c2;
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return this.a <= c && c <= this.b;
}
public String toString() {
return "CharMatcher.inRange('" + CharMatcher.d(this.a) + "', '" + CharMatcher.d(this.b) + "')";
}
}
private static final class Invisible extends RangesMatcher {
static final Invisible d = new Invisible();
private Invisible() {
super("CharMatcher.invisible()", "\u0000\u007f\u00ad\u0600\u061c\u06dd\u070f\u1680\u180e\u2000\u2028\u205f\u2066\u2067\u2068\u2069\u206a\u3000\ud800\ufeff\ufff9\ufffa".toCharArray(), "  \u00ad\u0604\u061c\u06dd\u070f\u1680\u180e\u200f\u2064\u2066\u2067\u2068\u2069\u206f\u3000\uf8ff\ufeff\ufff9\ufffb".toCharArray());
}
}
private static final class Is extends FastMatcher {
private final char a;
Is(char c) {
this.a = c;
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return c == this.a;
}
public String toString() {
return "CharMatcher.is('" + CharMatcher.d(this.a) + "')";
}
}
private static final class JavaDigit extends CharMatcher {
static final JavaDigit a = new JavaDigit();
private JavaDigit() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return Character.isDigit(c);
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.javaDigit()";
}
}
private static final class JavaIsoControl extends NamedFastMatcher {
static final JavaIsoControl b = new JavaIsoControl();
private JavaIsoControl() {
super("CharMatcher.javaIsoControl()");
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return c <= 31 || (c >= 127 && c <= 159);
}
}
private static final class JavaLetter extends CharMatcher {
static final JavaLetter a = new JavaLetter();
private JavaLetter() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return Character.isLetter(c);
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.javaLetter()";
}
}
private static final class JavaLetterOrDigit extends CharMatcher {
static final JavaLetterOrDigit a = new JavaLetterOrDigit();
private JavaLetterOrDigit() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return Character.isLetterOrDigit(c);
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.javaLetterOrDigit()";
}
}
private static final class JavaLowerCase extends CharMatcher {
static final JavaLowerCase a = new JavaLowerCase();
private JavaLowerCase() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return Character.isLowerCase(c);
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.javaLowerCase()";
}
}
private static final class JavaUpperCase extends CharMatcher {
static final JavaUpperCase a = new JavaUpperCase();
private JavaUpperCase() {
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return Character.isUpperCase(c);
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return "CharMatcher.javaUpperCase()";
}
}
static abstract class NamedFastMatcher extends FastMatcher {
private final String a;
NamedFastMatcher(String str) {
Preconditions.a(str);
this.a = str;
}
public final String toString() {
return this.a;
}
}
private static final class None extends NamedFastMatcher {
static final None b = new None();
private None() {
super("CharMatcher.none()");
}
@Override // com.google.common.base.CharMatcher
public int a(CharSequence charSequence, int i) {
Preconditions.b(i, charSequence.length());
return -1;
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
return false;
}
}
private static class RangesMatcher extends CharMatcher {
private final String a;
private final char[] b;
private final char[] c;
RangesMatcher(String str, char[] cArr, char[] cArr2) {
this.a = str;
this.b = cArr;
this.c = cArr2;
Preconditions.a(cArr.length == cArr2.length);
int i = 0;
while (i < cArr.length) {
Preconditions.a(cArr[i] <= cArr2[i]);
int i2 = i + 1;
if (i2 < cArr.length) {
Preconditions.a(cArr2[i] < cArr[i2]);
}
i = i2;
}
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c) {
int binarySearch = Arrays.binarySearch(this.b, c);
if (binarySearch >= 0) {
return true;
}
int i = (~binarySearch) - 1;
return i >= 0 && c <= this.c[i];
}
@Override // com.google.common.base.Predicate
@Deprecated
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
return super.a(ch);
}
public String toString() {
return this.a;
}
}
private static final class SingleWidth extends RangesMatcher {
static final SingleWidth d = new SingleWidth();
private SingleWidth() {
super("CharMatcher.singleWidth()", "\u0000־א׳\u0600ݐ\u0e00Ḁ℀ﭐﹰ。".toCharArray(), "ӹ־ת״ۿݿ\u0e7f₯℺﷿\ufeffᅵ".toCharArray());
}
}
static final class Whitespace extends NamedFastMatcher {
static final int b = Integer.numberOfLeadingZeros(31);
static final Whitespace c = new Whitespace();
Whitespace() {
super("CharMatcher.whitespace()");
}
@Override // com.google.common.base.CharMatcher
public boolean a(char c2) {
return "\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\u000b\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001 \f\u2009\u3000\u2004\u3000\u3000\u2028\n\u3000".charAt((48906 * c2) >>> b) == c2;
}
}
static {
n();
c();
b();
d();
f();
h();
i();
k();
j();
g();
e();
m();
a();
l();
}
protected CharMatcher() {
}
public static CharMatcher a() {
return Any.b;
}
public static CharMatcher c() {
return BreakingWhitespace.a;
}
public static CharMatcher d() {
return Digit.d;
}
public static CharMatcher e() {
return Invisible.d;
}
public static CharMatcher f() {
return JavaDigit.a;
}
public static CharMatcher g() {
return JavaIsoControl.b;
}
public static CharMatcher h() {
return JavaLetter.a;
}
public static CharMatcher i() {
return JavaLetterOrDigit.a;
}
public static CharMatcher j() {
return JavaLowerCase.a;
}
public static CharMatcher k() {
return JavaUpperCase.a;
}
public static CharMatcher l() {
return None.b;
}
public static CharMatcher m() {
return SingleWidth.d;
}
public static CharMatcher n() {
return Whitespace.c;
}
public abstract boolean a(char c);
public static CharMatcher a(char c, char c2) {
return new InRange(c, c2);
}
public static CharMatcher b() {
return Ascii.b;
}
public static CharMatcher c(char c) {
return new Is(c);
}
/* JADX INFO: Access modifiers changed from: private */
public static String d(char c) {
char[] cArr = {'\\', 'u', 0, 0, 0, 0};
for (int i = 0; i < 4; i++) {
cArr[5 - i] = "0123456789ABCDEF".charAt(c & 15);
c = (char) (c >> 4);
}
return String.copyValueOf(cArr);
}
public int a(CharSequence charSequence, int i) {
int length = charSequence.length();
Preconditions.b(i, length);
while (i < length) {
if (a(charSequence.charAt(i))) {
return i;
}
i++;
}
return -1;
}
@Deprecated
public boolean a(Character ch) {
return a(ch.charValue());
}
}