0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

java-itamae クラス設計

Last updated at Posted at 2023-04-01

CLI 引数の解析

CLI 引数の設定には LongOpt を使用し、 CLI 引数の解析には Getopt を使用するものとする。
処理の流れについては CLI 基本設計 処理の流れ を参照。

ContentsModel

メソッド名称 説明 初期値
setPath(String path) 読込対象とするプロパティファイルのパスを変数 {path} へ設定する。 -
getPath() 読込対象とするプロパティファイルのパスを変数 {path} から取得する。 -
setEncoding(String encoding) プロパティファイル読込時に使用する文字エンコーディングを変数 {encoding} へ設定する。 -
getEncoding() プロパティファイル読込時に使用する文字エンコーディングを変数 {encoding} から取得する。 OS のデフォルト文字エンコーディング

ContentsModelValidator

メソッド名称 説明
test(ContentsModel) model ContentsModel のバリデーションチェックを実行する。バリデーションエラーの場合は false を、エラーが無い場合は true を返す。

GetProperties

メソッド名称 説明
apply(ContentsModel) model プロパティファイルを読込み、 <<Map>> に変換して返す。

Resource クラス設計

BaseResource

メソッド名称 説明
getLogger() Logger <<Logger>> を生成して返す。
convertToModel(Map<String, String> properties) プロパティ群を収めた <<Map>> を Model クラスに変換して返す。
validate(T model) Model クラスのバリデーションチェックを実行する。バリデーションエラーの場合は false を、バリデーションエラーが無い場合は true を返す。
apply(Map<String, String> properties) プロパティ群に定義された情報を基に操作を実行する。

FileResourceImpl

メソッド名称 説明
getLogger() Logger <<Logger>> を生成して返す。
convertToModel(Map<String, String> properties) プロパティ群を収めた <<Map>>FileResourceModel に変換して返す。
validate(FileResourceModel model) FileResourceModel のバリデーションチェックを実行する。バリデーションエラーの場合は false を、バリデーションエラーが無い場合は true を返す。
apply(Map<String, String> properties) プロパティ群に定義された情報を基に操作を実行する。

バリデーションチェックの条件

FileResourceModel 生成 を参照。

操作の内容と処理の流れ

ファイルの作成については ファイル作成 を参照。
ファイルの削除については ファイル削除 を参照。

DirectoryResourceImpl

メソッド名称 説明
getLogger() Logger <<Logger>> を生成して返す。
convertToModel(Map<String, String> properties) プロパティ群を収めた <<Map>>DirectoryResourceModel に変換して返す。
validate(DirectoryResourceModel model) DirectoryResourceModel のバリデーションチェックを実行する。バリデーションエラーの場合は false を、バリデーションエラーが無い場合は true を返す。
apply(Map<String, String> properties) プロパティ群に定義された情報を基に操作を実行する。

バリデーションチェックの条件

DirectoryResourceModel 生成 を参照。

操作の内容と処理の流れ

ディレクトリの作成については ディレクトリ作成 を参照。
ディレクトリの削除については ディレクトリ削除 を参照。

TemplateResourceImpl

メソッド名称 説明
getLogger() Logger <<Logger>> を生成して返す。
convertToModel(Map<String, String> properties) プロパティ群を収めた <<Map>>TemplateResourceModel に変換して返す。
validate(TemplateResourceModel model) TemplateResourceModel のバリデーションチェックを実行する。バリデーションエラーの場合は false を、バリデーションエラーが無い場合は true を返す。
apply(Map<String, String> properties) プロパティ群に定義された情報を基に操作を実行する。
getSourceContents(TemplateResourceModel model) テキストファイルを読込み、 List<String> に変換して返す。
updateContents(TemplateResourceModel model, List<String> contents) テキストファイルの内容を上書きする。

バリデーションチェックの条件

TemplateResourceModel 生成 を参照。

操作の内容と処理の流れ

ファイル内容の更新については ファイル内容の更新 を参照。
ファイル内容の削除については ファイル内容の削除 を参照。

Status

メソッド名称 説明 コード値
INIT 初期状態を表す。動作を実行せずに正常終了した場合に使用する。 0
DONE 動作の実行に成功したことを表す。動作を実行して正常終了した場合に使用する。 2
ERROR 動作の実行中にエラーが発生したことを表す。動作の実行中に異常終了した場合に使用する。 1
getValue() コード値を返す。 -

ResourceModel クラス設計

ResourceModel

メソッド名称 説明 初期値
getResourceName 変数 {resourceName} からリソース名を取得する。 インスタンス生成時に filedirectorytemplate のいずれかを変数 {resourceName} へ設定する。
setAction(String action) 実行対象とする動作名を変数 {action} へ設定する。 -
getAction() 実行対象とする動作名を変数 {action} から取得する。 -
setPath(String path) 操作対象とするファイルまたはディレクトリのパスを変数 {path} へ設定する。 -
getPath() 操作対象とするファイルまたはディレクトリのパスを変数 {path} から取得する。 -

FileResourceModel

メソッド名称 説明 初期値
getResourceName 変数 {resourceName} からリソース名を取得する。 インスタンス生成時に固定値 file を変数 {resourceName} へ設定する。
setAction(String action) 実行対象とする動作名を変数 {action} へ設定する。 -
getAction() 実行対象とする動作名を変数 {action} から取得する。 -
setPath(String path) 操作対象とするファイルのパスを変数 {path} へ設定する。 -
getPath() 操作対象とするファイルのパスを変数 {path} から取得する。 -
setOwner(String owner) ファイルへ設定する所有者名を変数 {owner} へ設定する。 -
getOwner() ファイルへ設定する所有者名を変数 {owner} から取得する。 -
setGroup(String group) ファイルへ設定するグループ所有者名を変数 {group} へ設定する。 -
getGroup() ファイルへ設定するグループ所有者名を変数 {group} から取得する。 -
setMode(String mode) ファイルへ設定するパーミッション設定値を変数 {mode} へ設定する。 -
getMode() ファイルへ設定するパーミッション設定値を変数 {mode} から取得する。 -

DirectoryResourceModel

メソッド名称 説明 初期値
getResourceName 変数 {resourceName} からリソース名を取得する。 インスタンス生成時に固定値 directory を変数 {resourceName} へ設定する。
setAction(String action) 実行対象とする動作名を変数 {action} へ設定する。 -
getAction() 実行対象とする動作名を変数 {action} から取得する。 -
setPath(String path) 操作対象とするディレクトリのパスを変数 {path} へ設定する。 -
getPath() 操作対象とするディレクトリのパスを変数 {path} から取得する。 -
setOwner(String owner) ディレクトリへ設定する所有者名を変数 {owner} へ設定する。 -
getOwner() ディレクトリへ設定する所有者名を変数 {owner} から取得する。 -
setGroup(String group) ディレクトリへ設定するグループ所有者名を変数 {group} へ設定する。 -
getGroup() ディレクトリへ設定するグループ所有者名を変数 {group} から取得する。 -
setMode(String mode) ディレクトリへ設定するパーミッション設定値を変数 {mode} へ設定する。 -
getMode() ディレクトリへ設定するパーミッション設定値を変数 {mode} から取得する。 -

TemplateResourceModel

メソッド名称 説明 初期値
getResourceName 変数 {resourceName} からリソース名を取得する。 インスタンス生成時に固定値 template を変数 {resourceName} へ設定する。
setAction(String action) 実行対象とする動作名を変数 {action} へ設定する。 -
getAction() 実行対象とする動作名を変数 {action} から取得する。 -
setPath(String path) 操作対象とするファイルのパスを変数 {path} へ設定する。 -
getPath() 操作対象とするファイルのパスを変数 {path} から取得する。 -
setEncoding(String encoding) ファイルの読書きの際に使用する文字エンコーディングを変数 {encoding} へ設定する。 -
getEncoding() ファイルの読書きの際に使用する文字エンコーディングを変数 {encoding} から取得する。 OS のデフォルト文字エンコーディング
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?