static

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);
  }