예제 #1
0
    private void done() {
      String provider = getParsedString();
      if (!provider.isEmpty()) {
        RouteProviderDefinition rpd = new RouteProviderDefinition();
        Pair<Class<?>, Method> pair =
            BlogixUtils.readClassAndMethodFromParsedString(
                DefaultRoutesParser.this.classLoaders,
                provider,
                DefaultRoutesParser.this.defaultProviderPackages);
        rpd.setProviderClass(pair.getLeft());
        rpd.setProviderMethod(pair.getRight());

        Class<?> returnType = pair.getRight().getReturnType();
        if (!returnType.equals(Map[].class)) {
          throw new RouteParserException(
              "Provider "
                  + pair.getLeft().getName()
                  + "."
                  + pair.getRight().getName()
                  + " does not return Map[] type");
        }

        route.setProvider(rpd);
      }
    }
예제 #2
0
    private void processParsedString() {
      Pair<Class<?>, Method> pair =
          BlogixUtils.readClassAndMethodFromParsedString(
              DefaultRoutesParser.this.classLoaders,
              controller.toString(),
              DefaultRoutesParser.this.defaultControllerPackages);
      route.getController().setControllerClass(pair.getLeft());
      route.getController().setControllerMethod(pair.getRight());

      if (pair.getRight().getReturnType().equals(Void.TYPE)) {
        throw new RouteParserException(
            "Controller "
                + pair.getLeft().getName()
                + "."
                + pair.getRight().getName()
                + " returns void type");
      }
    }