繁体   English   中英

从Java类提取接口

[英]Extract interface from java class

我有一类内部有很多静态类,它们是从.xsd文件生成的。 有没有办法提取所有静态类的接口,并保持原始格式(带有内部接口)?

一个例子:

类:

public class Main {
  int a;
  public void do(){
    ...
  }

  public static class Inner {
    int b;
    public void foo(){
      ...
    }
  }
}

接口:

public interface IMain {
  void do();
  interface IInner {
    void foo();
  }
}

在Janus的帮助下,我创建了一个函数:

public void printInterface(Class<?> clazz) {
    System.err.println("public interface I" + clazz.getSimpleName() + "{");
    for (Method m : clazz.getDeclaredMethods()) {
        String params = "";
        for (Parameter p : m.getParameters()) {
            if (params != "")
                params += ", ";
            params += p.getType().getSimpleName() + " value";
        }
        System.err.println("  " + m.getReturnType().getSimpleName() + " " + m.getName() + "(" + params + ");");
    }
    for (Class<?> c : clazz.getDeclaredClasses()) {
        printInterface(c);
    }
    System.err.println("}");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM