Ejemplo n.º 1
0
  private static TransformGenerator[] getKeyTransformers(Class ownerClass, Method method) {
    TransformGeneratorFactory tgf = TransformGeneratorFactoryImpl.getInstance();

    Class[] params =
        CodegenHelper.getClasses(ownerClass.getClassLoader(), method.getArgumentTypes());
    Annotation[][] annotations;
    try {
      annotations =
          ownerClass.getDeclaredMethod(method.getName(), params).getParameterAnnotations();
    } catch (NoSuchMethodException e) {
      throw new IllegalStateException(e);
    }

    TransformGenerator[] tg = new TransformGenerator[params.length];
    for (int i = 0; i < params.length; i++) {
      tg[i] = tgf.forArgument(annotations[i], params[i]);
    }
    return tg;
  }