Пакетное создание заглушек классов Java - PullRequest
3 голосов
/ 19 мая 2010

Дан список потенциальных имен классов: 1. Аляска , , , 50. Вайоминг

Существует ли инструмент, который будет создавать пустые файлы классов Java для каждого с предоставленными параметрами? Я думаю о чем-то вроде диалога "New ... Class" в Eclipse, только на стериодах : -)

Спасибо заранее, Кайл

Ответы [ 2 ]

1 голос
/ 19 мая 2010

Я не уверен, существует ли пакетный мастер нового класса, но потребуется столько же времени, чтобы найти его, как если бы он катал свой собственный в простой летучей мыши. Я бы использовал цикл 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
0 голосов
/ 19 мая 2010

возможно попробуйте перечисления:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...