in netflix-sel/src/main/java/com/netflix/sel/type/SelString.java [62:183]
static {
Map<String, MethodHandle> map = new HashMap<>();
try {
map.put(
"split1",
MethodHandles.lookup()
.findVirtual(
String.class, "split", MethodType.methodType(String[].class, String.class)));
map.put(
"split2",
MethodHandles.lookup()
.findVirtual(
String.class,
"split",
MethodType.methodType(String[].class, String.class, int.class))
.asType(
MethodType.methodType(
String[].class, String.class, String.class, Integer.class)));
map.put(
"toUpperCase0",
MethodHandles.lookup()
.findVirtual(String.class, "toUpperCase", MethodType.methodType(String.class)));
map.put(
"toLowerCase0",
MethodHandles.lookup()
.findVirtual(String.class, "toLowerCase", MethodType.methodType(String.class)));
map.put(
"replaceAll2",
MethodHandles.lookup()
.findVirtual(
String.class,
"replaceAll",
MethodType.methodType(String.class, String.class, String.class)));
map.put(
"replace2",
MethodHandles.lookup()
.findVirtual(
String.class,
"replace",
MethodType.methodType(String.class, CharSequence.class, CharSequence.class))
.asType(
MethodType.methodType(String.class, String.class, String.class, String.class)));
map.put(
"valueOf1",
MethodHandles.lookup()
.findStatic(
String.class, "valueOf", MethodType.methodType(String.class, Object.class)));
map.put(
"startsWith1",
MethodHandles.lookup()
.findVirtual(
String.class, "startsWith", MethodType.methodType(boolean.class, String.class))
.asType(MethodType.methodType(Boolean.class, String.class, String.class)));
map.put(
"endsWith1",
MethodHandles.lookup()
.findVirtual(
String.class, "endsWith", MethodType.methodType(boolean.class, String.class))
.asType(MethodType.methodType(Boolean.class, String.class, String.class)));
map.put(
"contains1",
MethodHandles.lookup()
.findVirtual(
String.class,
"contains",
MethodType.methodType(boolean.class, CharSequence.class))
.asType(MethodType.methodType(Boolean.class, String.class, String.class)));
map.put(
"substring1",
MethodHandles.lookup()
.findVirtual(
String.class, "substring", MethodType.methodType(String.class, int.class))
.asType(MethodType.methodType(String.class, String.class, Integer.class)));
map.put(
"substring2",
MethodHandles.lookup()
.findVirtual(
String.class,
"substring",
MethodType.methodType(String.class, int.class, int.class))
.asType(
MethodType.methodType(String.class, String.class, Integer.class, Integer.class)));
map.put(
"lastIndexOf1",
MethodHandles.lookup()
.findVirtual(
String.class, "lastIndexOf", MethodType.methodType(int.class, String.class))
.asType(MethodType.methodType(Integer.class, String.class, String.class)));
map.put(
"length0",
MethodHandles.lookup()
.findVirtual(String.class, "length", MethodType.methodType(int.class))
.asType(MethodType.methodType(Integer.class, String.class)));
map.put(
"isEmpty0",
MethodHandles.lookup()
.findVirtual(String.class, "isEmpty", MethodType.methodType(boolean.class))
.asType(MethodType.methodType(Boolean.class, String.class)));
map.put(
"equals1",
MethodHandles.lookup()
.findVirtual(
String.class, "equals", MethodType.methodType(boolean.class, Object.class))
.asType(MethodType.methodType(Boolean.class, String.class, Object.class)));
map.put(
"compareTo1",
MethodHandles.lookup()
.findVirtual(
String.class, "compareTo", MethodType.methodType(int.class, String.class))
.asType(MethodType.methodType(Integer.class, String.class, String.class)));
map.put(
"trim0",
MethodHandles.lookup()
.findVirtual(String.class, "trim", MethodType.methodType(String.class)));
} catch (Exception ex) {
throw new RuntimeException("Initialization failure in STRING static block.", ex);
}
SUPPORTED_METHODS = Collections.unmodifiableMap(map);
}