org.seasar.extension.jdbc.gen.internal.command
クラス GenerateServiceCommand

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.gen.internal.command.AbstractCommand
      上位を拡張 org.seasar.extension.jdbc.gen.internal.command.GenerateServiceCommand
すべての実装されたインタフェース:
Command

public class GenerateServiceCommand
extends AbstractCommand

サービスクラスのJavaファイルを生成するCommandの実装です。

このコマンドは、エンティティクラスのメタデータからサービスクラスのJavaファイルを生成します。 そのため、 コマンドを実行するにはエンティティクラスを参照できるようにエンティティクラスが格納されたディレクトリをあらかじめクラスパスに設定しておく必要があります 。 また、そのディレクトリは、プロパティclasspathDirに設定しておく必要があります。

このコマンドは、次のクラスの2種類のjavaコードを生成します。

作成者:
taedium

フィールドの概要
protected  java.lang.String abstractServiceTemplateFileName
          抽象サービスクラスのテンプレート名
protected  AbstServiceModelFactory abstServiceModelFactory
          抽象サービスモデルのファクトリ
protected  java.io.File classpathDir
          クラスパスのディレクトリ
protected  java.lang.String entityClassNamePattern
          対象とするエンティティクラス名の正規表現
protected  EntityMetaReader entityMetaReader
          エンティティメタデータのリーダ
protected  java.lang.String entityPackageName
          エンティティクラスのパッケージ名
protected  Generator generator
          ジェネレータ
protected  java.lang.String ignoreEntityClassNamePattern
          対象としないエンティティクラス名の正規表現
protected  java.io.File javaFileDestDir
          生成するJavaファイルの出力先ディレクトリ
protected  java.lang.String javaFileEncoding
          Javaファイルのエンコーディング
protected static Logger logger
          ロガー
protected  java.lang.String namesClassNameSuffix
          名前クラス名のサフィックス
protected  NamesModelFactory namesModelFactory
          名前モデルのファクトリ
protected  java.lang.String namesPackageName
          名前クラスのパッケージ名
protected  boolean overwrite
          サービスクラスを上書きをする場合true、しない場合false
protected  boolean overwriteAbstractService
          抽象サービスクラスを上書きをする場合true、しない場合false
protected  java.lang.String rootPackageName
          ルートパッケージ名
protected  java.lang.String serviceClassNameSuffix
          サービスクラス名のサフィックス
protected  ServiceModelFactory serviceModelFactory
          サービスモデルのファクトリ
protected  java.lang.String servicePackageName
          サービスクラスのパッケージ名
protected  java.lang.String serviceTemplateFileName
          サービスクラスのテンプレート名
protected  java.lang.String templateFileEncoding
          テンプレートファイルのエンコーディング
protected  java.io.File templateFilePrimaryDir
          テンプレートファイルを格納したプライマリディレクトリ
protected  boolean useNamesClass
          名前クラスを使用する場合true
 
クラス org.seasar.extension.jdbc.gen.internal.command.AbstractCommand から継承されたフィールド
configPath, containerFactorySupport, env, factory, factoryClassName, jdbcManager, jdbcManagerName
 
コンストラクタの概要
GenerateServiceCommand()
          インスタンスを構築します。
 
メソッドの概要
protected  AbstServiceModelFactory createAbstServiceModelFactory()
          AbstServiceModelFactoryの実装を作成します。
protected  EntityMetaReader createEntityMetaReader()
          EntityMetaReaderの実装を作成します。
protected  GenerationContext createGenerationContext(ClassModel model, java.lang.String templateName, boolean overwrite)
          GenerationContextの実装を作成します。
protected  Generator createGenerator()
          Generatorの実装を作成します。
protected  NamesModelFactory createNamesModelFactory()
          NamesModelFactoryの実装を作成します。
protected  ServiceModelFactory createServiceModelFactory()
          ServiceModelFactoryの実装を作成します。
protected  void doDestroy()
          サブクラスで破棄します。
protected  void doExecute()
          サブクラスで実行します。
protected  void doInit()
          サブクラスで初期化します。
protected  void doValidate()
          サブクラスで検証します。
protected  void generateAbstractService()
          抽象サービスクラスのJavaファイルを生成します。
protected  void generateService(EntityMeta entityMeta)
          サービスクラスのJavaファイルを生成します。
 java.lang.String getAbstractServiceTemplateFileName()
          抽象サービスクラスのテンプレート名を返します。
 java.io.File getClasspathDir()
          クラスパスのディレクトリを返します。
 java.lang.String getEntityClassNamePattern()
          対象とするエンティティクラス名の正規表現を返します。
 java.lang.String getEntityPackageName()
          エンティティクラスのパッケージ名を返します。
 java.lang.String getIgnoreEntityClassNamePattern()
          対象としないエンティティクラス名の正規表現を返します。
 java.io.File getJavaFileDestDir()
          生成するJavaファイルの出力先ディレクトリを返します。
 java.lang.String getJavaFileEncoding()
          Javaファイルのエンコーディングを返します。
protected  Logger getLogger()
          ロガーを返します。
 java.lang.String getNamesClassNameSuffix()
          名前クラス名のサフィックスを返します。
 java.lang.String getNamesPackageName()
          名前クラスのパッケージ名を返します。
 java.lang.String getRootPackageName()
          ルートパッケージ名を返します。
 java.lang.String getServiceClassNameSuffix()
          サービスクラス名のサフィックスを返します。
 java.lang.String getServicePackageName()
          サービスクラスのパッケージ名を返します。
 java.lang.String getServiceTemplateFileName()
          サービスクラスのテンプレート名を返します。
 java.lang.String getTemplateFileEncoding()
          テンプレートファイルのエンコーディングを返します。
 java.io.File getTemplateFilePrimaryDir()
          テンプレートファイルを格納したプライマリディレクトリを返します。
 boolean isOverwrite()
          サービスクラスを上書きをする場合true、しない場合falseを返します。
 boolean isOverwriteAbstractService()
          抽象サービスクラスを上書きをする場合true、しない場合falseを返します。
 boolean isUseNamesClass()
          名前クラスを使用する場合true、しない場合falseを返します。
 void setAbstractServiceTemplateFileName(java.lang.String abstractServiceTemplateFileName)
          抽象サービスクラスのテンプレート名を設定します。
 void setClasspathDir(java.io.File classpathDir)
          クラスパスのディレクトリを設定します。
 void setEntityClassNamePattern(java.lang.String entityClassNamePattern)
          対象とするエンティティクラス名の正規表現を設定します。
 void setEntityPackageName(java.lang.String entityPackageName)
          エンティティクラスのパッケージ名を設定します。
 void setIgnoreEntityClassNamePattern(java.lang.String ignoreEntityClassNamePattern)
          対象としないエンティティクラス名の正規表現を設定します。
 void setJavaFileDestDir(java.io.File javaFileDestDir)
          生成するJavaファイルの出力先ディレクトリを設定します。
 void setJavaFileEncoding(java.lang.String javaFileEncoding)
          Javaファイルのエンコーディングを設定します。
 void setNamesClassNameSuffix(java.lang.String namesClassNameSuffix)
          名前クラス名のサフィックスを設定します。
 void setNamesPackageName(java.lang.String namesPackageName)
          名前クラスのパッケージ名を設定します。
 void setOverwrite(boolean overwrite)
          サービスクラスを上書きをする場合true、しない場合falseを設定します。
 void setOverwriteAbstractService(boolean overwriteAbstractService)
          抽象サービスクラスを上書きをする場合true、しない場合falseを設定します。
 void setRootPackageName(java.lang.String rootPackageName)
          ルートパッケージ名を設定します。
 void setServiceClassNameSuffix(java.lang.String serviceClassNameSuffix)
          サービスクラス名のサフィックスを設定します。
 void setServicePackageName(java.lang.String servicePackageName)
          サービスクラスのパッケージ名を設定します。
 void setServiceTemplateFileName(java.lang.String serviceTemplateFileName)
          サービスクラスのテンプレート名を設定します。
 void setTemplateFileEncoding(java.lang.String templateFileEncoding)
          テンプレートファイルのエンコーディングを設定します。
 void setTemplateFilePrimaryDir(java.io.File templateFilePrimaryDir)
          テンプレートファイルを格納したプライマリディレクトリを設定します。
 void setUseNamesClass(boolean useNamesClass)
          名前クラスを使用する場合true、しない場合falseを設定します。
 
クラス org.seasar.extension.jdbc.gen.internal.command.AbstractCommand から継承されたメソッド
destroy, execute, getConfigPath, getEnv, getFactoryClassName, getGenDialect, getJdbcManagerName, getRdbmsName, init, logRdbmsAndGenDialect, logWritableProperties, setConfigPath, setEnv, setFactoryClassName, setJdbcManagerName, validate
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

logger

protected static Logger logger
ロガー


classpathDir

protected java.io.File classpathDir
クラスパスのディレクトリ


rootPackageName

protected java.lang.String rootPackageName
ルートパッケージ名


entityPackageName

protected java.lang.String entityPackageName
エンティティクラスのパッケージ名


entityClassNamePattern

protected java.lang.String entityClassNamePattern
対象とするエンティティクラス名の正規表現


ignoreEntityClassNamePattern

protected java.lang.String ignoreEntityClassNamePattern
対象としないエンティティクラス名の正規表現


servicePackageName

protected java.lang.String servicePackageName
サービスクラスのパッケージ名


serviceClassNameSuffix

protected java.lang.String serviceClassNameSuffix
サービスクラス名のサフィックス


abstractServiceTemplateFileName

protected java.lang.String abstractServiceTemplateFileName
抽象サービスクラスのテンプレート名


serviceTemplateFileName

protected java.lang.String serviceTemplateFileName
サービスクラスのテンプレート名


useNamesClass

protected boolean useNamesClass
名前クラスを使用する場合true


namesClassNameSuffix

protected java.lang.String namesClassNameSuffix
名前クラス名のサフィックス


namesPackageName

protected java.lang.String namesPackageName
名前クラスのパッケージ名


javaFileDestDir

protected java.io.File javaFileDestDir
生成するJavaファイルの出力先ディレクトリ


javaFileEncoding

protected java.lang.String javaFileEncoding
Javaファイルのエンコーディング


overwrite

protected boolean overwrite
サービスクラスを上書きをする場合true、しない場合false


overwriteAbstractService

protected boolean overwriteAbstractService
抽象サービスクラスを上書きをする場合true、しない場合false


templateFileEncoding

protected java.lang.String templateFileEncoding
テンプレートファイルのエンコーディング


templateFilePrimaryDir

protected java.io.File templateFilePrimaryDir
テンプレートファイルを格納したプライマリディレクトリ


entityMetaReader

protected EntityMetaReader entityMetaReader
エンティティメタデータのリーダ


serviceModelFactory

protected ServiceModelFactory serviceModelFactory
サービスモデルのファクトリ


abstServiceModelFactory

protected AbstServiceModelFactory abstServiceModelFactory
抽象サービスモデルのファクトリ


namesModelFactory

protected NamesModelFactory namesModelFactory
名前モデルのファクトリ


generator

protected Generator generator
ジェネレータ

コンストラクタの詳細

GenerateServiceCommand

public GenerateServiceCommand()
インスタンスを構築します。

メソッドの詳細

getClasspathDir

public java.io.File getClasspathDir()
クラスパスのディレクトリを返します。

戻り値:
クラスパスのディレクトリ

setClasspathDir

public void setClasspathDir(java.io.File classpathDir)
クラスパスのディレクトリを設定します。

パラメータ:
classpathDir - クラスパスのディレクトリ

getServiceClassNameSuffix

public java.lang.String getServiceClassNameSuffix()
サービスクラス名のサフィックスを返します。

戻り値:
サービスクラス名のサフィックス

setServiceClassNameSuffix

public void setServiceClassNameSuffix(java.lang.String serviceClassNameSuffix)
サービスクラス名のサフィックスを設定します。

パラメータ:
serviceClassNameSuffix - サービスクラス名のサフィックス

getServicePackageName

public java.lang.String getServicePackageName()
サービスクラスのパッケージ名を返します。

戻り値:
サービスクラスのパッケージ名

setServicePackageName

public void setServicePackageName(java.lang.String servicePackageName)
サービスクラスのパッケージ名を設定します。

パラメータ:
servicePackageName - サービスクラスのパッケージ名

getServiceTemplateFileName

public java.lang.String getServiceTemplateFileName()
サービスクラスのテンプレート名を返します。

戻り値:
サービスクラスのテンプレート名

setServiceTemplateFileName

public void setServiceTemplateFileName(java.lang.String serviceTemplateFileName)
サービスクラスのテンプレート名を設定します。

パラメータ:
serviceTemplateFileName - サービスクラスのテンプレート名

getAbstractServiceTemplateFileName

public java.lang.String getAbstractServiceTemplateFileName()
抽象サービスクラスのテンプレート名を返します。

戻り値:
抽象サービスクラスのテンプレート名

setAbstractServiceTemplateFileName

public void setAbstractServiceTemplateFileName(java.lang.String abstractServiceTemplateFileName)
抽象サービスクラスのテンプレート名を設定します。

パラメータ:
abstractServiceTemplateFileName - 抽象サービスクラスのテンプレート名

getNamesClassNameSuffix

public java.lang.String getNamesClassNameSuffix()
名前クラス名のサフィックスを返します。

戻り値:
名前クラス名のサフィックス

setNamesClassNameSuffix

public void setNamesClassNameSuffix(java.lang.String namesClassNameSuffix)
名前クラス名のサフィックスを設定します。

パラメータ:
namesClassNameSuffix - 名前クラス名のサフィックス

getNamesPackageName

public java.lang.String getNamesPackageName()
名前クラスのパッケージ名を返します。

戻り値:
名前クラスのパッケージ名

setNamesPackageName

public void setNamesPackageName(java.lang.String namesPackageName)
名前クラスのパッケージ名を設定します。

パラメータ:
namesPackageName - 名前クラスのパッケージ名

getEntityPackageName

public java.lang.String getEntityPackageName()
エンティティクラスのパッケージ名を返します。

戻り値:
エンティティクラスのパッケージ名

setEntityPackageName

public void setEntityPackageName(java.lang.String entityPackageName)
エンティティクラスのパッケージ名を設定します。

パラメータ:
entityPackageName - エンティティクラスのパッケージ名

getEntityClassNamePattern

public java.lang.String getEntityClassNamePattern()
対象とするエンティティクラス名の正規表現を返します。

戻り値:
対象とするエンティティクラス名の正規表現

setEntityClassNamePattern

public void setEntityClassNamePattern(java.lang.String entityClassNamePattern)
対象とするエンティティクラス名の正規表現を設定します。

パラメータ:
entityClassNamePattern - 対象とするエンティティクラス名の正規表現

getIgnoreEntityClassNamePattern

public java.lang.String getIgnoreEntityClassNamePattern()
対象としないエンティティクラス名の正規表現を返します。

戻り値:
対象としないエンティティクラス名の正規表現

setIgnoreEntityClassNamePattern

public void setIgnoreEntityClassNamePattern(java.lang.String ignoreEntityClassNamePattern)
対象としないエンティティクラス名の正規表現を設定します。

パラメータ:
ignoreEntityClassNamePattern - 対象としないエンティティクラス名の正規表現

getJavaFileDestDir

public java.io.File getJavaFileDestDir()
生成するJavaファイルの出力先ディレクトリを返します。

戻り値:
生成するJavaファイルの出力先ディレクトリ

setJavaFileDestDir

public void setJavaFileDestDir(java.io.File javaFileDestDir)
生成するJavaファイルの出力先ディレクトリを設定します。

パラメータ:
javaFileDestDir - 生成するJavaファイルの出力先ディレクトリ

getJavaFileEncoding

public java.lang.String getJavaFileEncoding()
Javaファイルのエンコーディングを返します。

戻り値:
Javaファイルのエンコーディング

setJavaFileEncoding

public void setJavaFileEncoding(java.lang.String javaFileEncoding)
Javaファイルのエンコーディングを設定します。

パラメータ:
javaFileEncoding - Javaファイルのエンコーディング

isOverwrite

public boolean isOverwrite()
サービスクラスを上書きをする場合true、しない場合falseを返します。

戻り値:
上書きをする場合true、しない場合false

setOverwrite

public void setOverwrite(boolean overwrite)
サービスクラスを上書きをする場合true、しない場合falseを設定します。

パラメータ:
overwrite - 上書きをする場合true、しない場合false

isOverwriteAbstractService

public boolean isOverwriteAbstractService()
抽象サービスクラスを上書きをする場合true、しない場合falseを返します。

戻り値:
上書きをする場合true、しない場合false

setOverwriteAbstractService

public void setOverwriteAbstractService(boolean overwriteAbstractService)
抽象サービスクラスを上書きをする場合true、しない場合falseを設定します。

パラメータ:
overwriteAbstractService - 上書きをする場合true、しない場合false

getRootPackageName

public java.lang.String getRootPackageName()
ルートパッケージ名を返します。

戻り値:
ルートパッケージ名

setRootPackageName

public void setRootPackageName(java.lang.String rootPackageName)
ルートパッケージ名を設定します。

パラメータ:
rootPackageName - ルートパッケージ名

getTemplateFileEncoding

public java.lang.String getTemplateFileEncoding()
テンプレートファイルのエンコーディングを返します。

戻り値:
テンプレートファイルのエンコーディング

setTemplateFileEncoding

public void setTemplateFileEncoding(java.lang.String templateFileEncoding)
テンプレートファイルのエンコーディングを設定します。

パラメータ:
templateFileEncoding - テンプレートファイルのエンコーディング

getTemplateFilePrimaryDir

public java.io.File getTemplateFilePrimaryDir()
テンプレートファイルを格納したプライマリディレクトリを返します。

戻り値:
テンプレートファイルを格納したプライマリディレクトリ

setTemplateFilePrimaryDir

public void setTemplateFilePrimaryDir(java.io.File templateFilePrimaryDir)
テンプレートファイルを格納したプライマリディレクトリを設定します。

パラメータ:
templateFilePrimaryDir - テンプレートファイルを格納したプライマリディレクトリ

isUseNamesClass

public boolean isUseNamesClass()
名前クラスを使用する場合true、しない場合falseを返します。

戻り値:
名前クラスを使用する場合true、しない場合false

setUseNamesClass

public void setUseNamesClass(boolean useNamesClass)
名前クラスを使用する場合true、しない場合falseを設定します。

パラメータ:
useNamesClass - 名前クラスを使用する場合true、しない場合false

doValidate

protected void doValidate()
クラス AbstractCommand の記述:
サブクラスで検証します。

定義:
クラス AbstractCommand 内の doValidate

doInit

protected void doInit()
クラス AbstractCommand の記述:
サブクラスで初期化します。

定義:
クラス AbstractCommand 内の doInit

doExecute

protected void doExecute()
クラス AbstractCommand の記述:
サブクラスで実行します。

定義:
クラス AbstractCommand 内の doExecute

doDestroy

protected void doDestroy()
クラス AbstractCommand の記述:
サブクラスで破棄します。

定義:
クラス AbstractCommand 内の doDestroy

generateAbstractService

protected void generateAbstractService()
抽象サービスクラスのJavaファイルを生成します。


generateService

protected void generateService(EntityMeta entityMeta)
サービスクラスのJavaファイルを生成します。

パラメータ:
entityMeta - エンティティメタデータ

createGenerationContext

protected GenerationContext createGenerationContext(ClassModel model,
                                                    java.lang.String templateName,
                                                    boolean overwrite)
GenerationContextの実装を作成します。

パラメータ:
model - クラスモデル
templateName - テンプレート名
overwrite - 上書きする場合true
戻り値:
GenerationContextの実装

createEntityMetaReader

protected EntityMetaReader createEntityMetaReader()
EntityMetaReaderの実装を作成します。

戻り値:
EntityMetaReaderの実装

createServiceModelFactory

protected ServiceModelFactory createServiceModelFactory()
ServiceModelFactoryの実装を作成します。

戻り値:
ServiceModelFactoryの実装

createAbstServiceModelFactory

protected AbstServiceModelFactory createAbstServiceModelFactory()
AbstServiceModelFactoryの実装を作成します。

戻り値:
AbstServiceModelFactoryの実装

createNamesModelFactory

protected NamesModelFactory createNamesModelFactory()
NamesModelFactoryの実装を作成します。

戻り値:
NamesModelFactoryの実装

createGenerator

protected Generator createGenerator()
Generatorの実装を作成します。

戻り値:
Generatorの実装

getLogger

protected Logger getLogger()
クラス AbstractCommand の記述:
ロガーを返します。

定義:
クラス AbstractCommand 内の getLogger
戻り値:
ロガー


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.