批量创建Java类存根

时间:2010-05-19 01:45:17

标签: java eclipse scripting

给出一个潜在的类名列表: 阿拉斯加 。 。 。 50.怀俄明州

是否有一个工具可以为每个提供参数创建空的java类文件? 我正在考虑类似Eclipse中的“New ... Class”对话框,仅在steriods上。 : - )

提前致谢, 凯尔

2 个答案:

答案 0 :(得分:1)

我不确定是否存在批量新类向导,但要找到一个就像在简单的蝙蝠中滚动自己一样。我会使用for循环,遍历列出要创建的类名的文件的内容,并在循环体echo中使用该值创建新文件的模板从文件到名称.java以及在模板中填写类名。

编辑:一个示例bat,它从名为classnames.txt的文件中读取类名,并创建非常简单的存根:

for /F "tokens=1" %%a in (classnames.txt) do call :createClass %%a

dir *.java

goto :eof

:createClass 
   echo package com.abc; > %1.java 
   echo.  >> %1.java 
   echo public class %1 {>> %1.java 
   echo      public %1() { >> %1.java 
   echo      } >> %1.java 
   echo } >> %1.java

答案 1 :(得分:0)

也许尝试枚举:

package p;

interface Foo {
    void bar();

}

enum State implements Foo {
    Alabama, Alaska, Arizona, Arkansas, California(new Integer(42)) {
        public void bar() {
            System.out.print("is strange ");
            super.bar();
        }

    },
    Colorado, Connecticut, Delaware, Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, NewHampshire, NewJersey, NewMexico, NewYork, NorthCarolina, NorthDakota, Ohio, Oklahoma, Oregon, Pennsylvania, RhodeIsland, SouthCarolina, SouthDakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, WestVirginia, Wisconsin, Wyoming;

    State() {
        this(null);
    }

    State(Object object) {
        this.object = object;
    }

    public void bar() {
        System.out.println(this + " " + object);
    }

    public static void main(String[] arguments) {
        for (State state : State.values())
            state.bar();
    }

    final Object object;
}