tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

Spring Rooの動作(8) - classコマンド

classコマンド

  • 普通のJavaクラスを作成する
  • エンティティクラスを作成する場合はentityコマンドを利用する

オプション

--class [className]
  • [className]で指定したパッケージとクラス名でクラスを作成する
--rooAnnotations
  • Spring Roo用のアノテーションを追加する
  • 作成したクラスに@RooJavaBean, @RooToString, @RooSerializableの3つのアノテーションが追加される
  • [className]_Roo_ToString.aj, [className]_Roo_Serializable.ajの2つのAspectJファイルが作成される
--path [pathType]
  • パスのルートディレクトリの種類を指定する
  • [pathType]はROOT, SPRING_CONFIG_ROOT, SRC_MAIN_JAVA, SRC_MAIN_RESOURCES, SRC_MAIN_WEBAPP, SRC_TEST_JAVA, SRC_TEST_RESOURCESの中から指定する
  • 種類ごとの出力先は以下の通り(すべて名前から想像できる場所に出力されます)
roo> class --class ~.RootClass --path ROOT
Created ROOT\com\example\sandbox\RootClass.java
roo> class --class ~.SpringConfigRootClass --path SPRING_CONFIG_ROOT
Created SRC_MAIN_RESOURCES\META-INF\spring\com\example\sandbox\SpringConfigRootClass.java
roo> class --class ~.SrcMainJavaClass --path SRC_MAIN_JAVA
Created SRC_MAIN_JAVA\com\example\sandbox\SrcMainJavaClass.java
roo> class --class ~.SrcMainResourcesClass --path SRC_MAIN_RESOURCES
Created SRC_MAIN_RESOURCES\com\example\sandbox\SrcMainResourcesClass.java
roo> class --class ~.SrcMainWebappClass --path SRC_MAIN_WEBAPP
Created SRC_MAIN_WEBAPP\com\example\sandbox\SrcMainWebappClass.java
roo> class --class ~.SrcTestJavaClass --path SRC_TEST_JAVA
Created SRC_TEST_JAVA\com\example\sandbox\SrcTestJavaClass.java
roo> class --class ~.SrcTestResourcesClass --path SRC_TEST_RESOURCES
Created SRC_TEST_RESOURCES\com\example\sandbox\SrcTestResourcesClass.java
--extends [extendsClassName]
  • [extendsClassName]を親クラスとして指定する
  • プロジェクト内のクラスしか指定できないみたい
roo> class --class MyDate --extends java.util.Date
Unable to locate requested type'java.util.Date'
--abstract
  • abstractクラスとして作成する
--permitReservedWords
  • 名前に予約語を使えるようにする

使い方

ふつうに
roo> class --class ~.SimpleClass
Created SRC_MAIN_JAVA\com\example\sandbox\SimpleClass.java

作成されたソース

package com.example.sandbox;


public class SimpleClass {
}
Rooアノテーション付きで
~.SimpleClass roo> class --class ~.RooClass --rooAnnotations
Created SRC_MAIN_JAVA\com\example\sandbox\RooClass.java
Created SRC_MAIN_JAVA\com\example\sandbox\RooClass_Roo_ToString.aj
Created SRC_MAIN_JAVA\com\example\sandbox\RooClass_Roo_Serializable.aj

作成されたソース

package com.example.sandbox;

import org.springframework.roo.addon.javabean.RooJavaBean;
import org.springframework.roo.addon.tostring.RooToString;
import org.springframework.roo.addon.serializable.RooSerializable;

@RooJavaBean
@RooToString
@RooSerializable
public class RooClass {
}