(57)【特許請求の範囲】
【請求項１】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル（前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む）とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも１つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも１つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置のプログラムであって、
前記アプリケーション生成装置を、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第１のファイルパス情報であって、当該ルートフォルダ名、当該サブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスＩＤを含む前記第１のファイルパス情報を生成すると共に、前記第１のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段、
前記生成されたテンプレートパス一覧内の各第１のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第１のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第２のファイルパス情報を生成すると共に、当該第２のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段、
前記生成された出力フォルダパス一覧内の第２のファイルパス情報のうち、前記対象情報を含む第２のファイルパス情報を抽出する抽出手段、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第２のファイルパス情報を前記出力フォルダパス一覧から削除する手段、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第２のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段、
前記削除の後の出力フォルダパス一覧内の各第２のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第３のファイルパス情報を生成すると共に、当該第３のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段、
前記生成された出力ファイルパス一覧内の各第３のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第３のファイルパス情報に従って出力する出力手段、
前記各第３のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ前記各第１のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスＩＤをもつ第３のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段、
として機能させるためのアプリケーション生成プログラム。
【請求項２】
請求項１に記載のアプリケーション生成プログラムにおいて、
前記出力フォルダパス一覧生成手段は、前記受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、前記第１ファイルパス情報内の当該同一の可変情報を前記複数の置換情報の各々に置換える手段、
を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項３】
請求項１に記載のアプリケーション生成プログラムにおいて、
前記記憶装置は、いくつかの前記アプリケーションの生成に共通して用いられる共有テンプレートフォルダを予め記憶しており、
前記共有テンプレートフォルダは、当該共有テンプレートを示す共有ルートフォルダ名を有する共有ルートフォルダと、前記共有ルートフォルダよりも下層に配置されて共有サブフォルダ名を有する共有サブフォルダと、前記共有サブフォルダの下層に配置されて共有テンプレートファイル名を個別に有する共有テンプレートファイル（前記共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む）とを備えており、前記共有ルートフォルダ名と、少なくとも１つの前記共有サブフォルダ名が入力情報内の第１共有変数に応じて変化する名称部分を示す可変情報を更に含む前記各共有サブフォルダ名と、少なくとも１つの前記共有テンプレートファイル名が、前記入力情報内の第２共有変数に応じて変化する名称部分を示す可変情報を更に含む前記共有テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記共有テンプレートフォルダである場合に、
前記テンプレートフォルダ読出手段は、前記入力情報が、前記共有テンプレートフォルダを用いるための前記各共有変数を更に含むと、当該共有テンプレートフォルダを前記記憶装置から読出す手段を含んでおり、
前記テンプレートパス一覧生成手段は、前記読出された共有テンプレートフォルダ内の共有テンプレートファイル名毎に、前記共有ルートフォルダから前記共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第４のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブフォルダの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスＩＤを含む前記第４のファイルパス情報を生成すると共に、前記第４のファイルパス情報を前記テンプレートパス一覧に挿入する手段を含んでおり、
前記存在可否判定手段は、前記テンプレートパス一覧内の前記第４のファイルパス情報内に可変情報が含まれているか否かを判定する手段を含んでおり、
前記出力フォルダパス一覧生成手段は、前記第４のファイルパス情報内に可変情報が存在する旨を判定したとき、前記第４のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第５のファイルパス情報を生成すると共に、当該第５のファイルパス情報を前記出力フォルダパス一覧に挿入する手段を含んでおり、
前記出力ファイルパス一覧生成手段は、前記出力フォルダパス一覧内の第５のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第６のファイルパス情報を生成すると共に、当該第６のファイルパス情報を前記出力ファイルパス一覧に挿入する手段を含んでおり、
前記出力手段は、前記出力ファイルパス一覧内の第６のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第６のファイルパス情報に従って出力する手段を含んでおり、
前記上書き手段は、前記第６のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ前記第４のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスＩＤをもつ第４のファイルパス情報が示す共有ファイル名とすることにより、当該生成したアプリケーション共有ファイルを前記空の共有ファイルに上書きする手段を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項４】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル（前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む）とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも１つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも１つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置であって、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段と、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第１のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスＩＤを含む前記第１のファイルパス情報を生成すると共に、前記第１のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段と、
前記生成されたテンプレートパス一覧内の各第１のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段と、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第１のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第２のファイルパス情報を生成すると共に、当該第２のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段と、
前記生成された出力フォルダパス一覧内の第２のファイルパス情報のうち、前記対象情報を含む第２のファイルパス情報を抽出する抽出手段と、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段と、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第２のファイルパス情報を前記出力フォルダパス一覧から削除する手段と、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第２のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段と、
前記削除の後の出力フォルダパス一覧内の各第２のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第３のファイルパス情報を生成すると共に、当該第３のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段と、
前記生成された出力ファイルパス一覧内の各第３のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第３のファイルパス情報に従って出力する出力手段と、
前記各第３のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ前記各第１のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスＩＤをもつ第３のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段と、
を備えたことを特徴とするアプリケーション生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、アプリケーション生成プログラム及び装置に関する。
【背景技術】
【０００２】
一般に、アプリケーションの雛形を示すテンプレートファイルに基づいてアプリケーションを生成するアプリケーション生成装置が知られている。この種のアプリケーション生成装置は、アプリケーションを生成するときに用いるテンプレート情報の格納場所、生成するファイル名、生成したファイルの出力先、及びこれらの対応関係（フォルダ構造）等を含む設定情報を予め設定しておく必要がある。また、このような設定情報をアプリケーション生成装置の固有の設定として予め定義しておくようなアプリケーション生成技術が知られている。
【０００３】
しかしながら、このようなアプリケーション生成技術は、アプリケーション生成装置の固有の設定として設定情報を定義しているため、例えば、生成されるファイル名やフォルダ構造を自由に設定できないといった不都合がある。
【０００４】
そこで、設定情報を設定ファイルとして定義するアプリケーション生成技術が考案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３１８２６０号公報
【特許文献２】特開２００９−２９４９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、以上のようなアプリケーション生成技術は、テンプレートファイルの数や生成するファイルの数が多くなると、定義すべき設定ファイルへの記述量が増加し、これに伴う設定コストが増加するといった不都合がある。
【０００７】
本発明が解決しようとする課題は、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減し得るアプリケーション生成プログラム及び装置を提供することである。
【課題を解決するための手段】
【０００８】
実施形態のアプリケーション生成装置は、ハードウェア資源とソフトウェアとの組合せ構成で実施される場合、アプリケーション生成装置の機能を実現させるためのアプリケーション生成プログラムが予めコンピュータにインストールされて実施される。
【０００９】
実施形態のアプリケーション生成装置は、各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能となっている。
【００１０】
前記各パターンテンプレートフォルダは、生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイルとを備えている。但し、前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む。
【００１１】
前記各パターンテンプレートフォルダは、前記ルートフォルダ名と、少なくとも１つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも１つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能となっている。
【００１２】
前記アプリケーション生成装置は、テンプレートフォルダ読出手段、テンプレートパス一覧生成手段、存在可否判定手段、出力フォルダパス一覧生成手段、抽出手段、出力可否判定手段、出力ファイルパス一覧生成手段、出力手段及び上書き手段を備えている。
【００１３】
前記テンプレートフォルダ読出手段は、いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出す。
【００１４】
前記テンプレートパス一覧生成手段は、前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第１のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスＩＤを含む前記第１のファイルパス情報を生成すると共に、前記第１のファイルパス情報を一覧して示すテンプレートパス一覧を生成する。
【００１５】
前記存在可否判定手段は、前記生成されたテンプレートパス一覧内の各第１のファイルパス情報内に前記可変情報が含まれているか否かを判定する。
【００１６】
前記出力フォルダパス一覧生成手段、前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第１のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第２のファイルパス情報を生成すると共に、当該第２のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する。
【００１７】
前記抽出手段は、前記生成された出力フォルダパス一覧内の第２のファイルパス情報のうち、前記対象情報を含む第２のファイルパス情報を抽出する。
【００１８】
前記出力可否判定手段は、前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する。
【００１９】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第２のファイルパス情報を前記出力フォルダパス一覧から削除する。
【００２０】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第２のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する。
【００２１】
前記出力ファイルパス一覧生成手段は、前記削除の後の出力フォルダパス一覧内の各第２のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第３のファイルパス情報を生成すると共に、当該第３のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する。
【００２２】
前記出力手段は、前記生成された出力ファイルパス一覧内の各第３のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第３のファイルパス情報に従って出力する。
【００２３】
前記上書き手段は、前記各第３のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ前記各第１のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスＩＤをもつ第３のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする。
【図面の簡単な説明】
【００２４】
【図１】一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図。
【図２】同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図。
【図３】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図４】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図５】同実施形態に係るファイルパス情報生成部により生成される第１のファイルパス情報の一例を示す模式図。
【図６】同実施形態に係るファイルパス情報生成部により生成される第２のファイルパス情報の一例を示す模式図。
【図７】同実施形態に係るファイルパス情報生成部により生成される第２のファイルパス情報内の対象情報を削除した後の第２のファイルパス情報の一例を示す模式図。
【図８】同実施形態に係るファイルパス情報生成部により生成される第３のファイルパス情報の一例を示す模式図。
【図９】同実施形態に係るファイル／フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【図１０】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示すフローチャート。
【図１１】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図１２】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図１３】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図１４】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図１５】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図１６】同実施形態に係る記憶装置に記憶されたテンプレートファイルの一例を示す模式図。
【図１７】同実施形態に係るファイルパス情報生成部により生成される第１のファイルパス情報の一例を示す模式図。
【図１８】同実施形態に係るファイルパス情報生成部により生成される第２のファイルパス情報の一例を示す模式図。
【図１９】同実施形態に係るファイルパス情報生成部により生成される第３のファイルパス情報の一例を示す模式図。
【図２０】同実施形態に係るファイル／フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【発明を実施するための形態】
【００２５】
以下、一実施形態について図面を参照して説明する。なお、以下のアプリケーション生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、アプリケーション生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【００２６】
図１は一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図であり、図２は同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図であって、図３は同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図である。アプリケーション生成システム１では、アプリケーション生成装置１０が、例えばネットワークを介して、記憶装置２０に接続している。
【００２７】
記憶装置２０は、図２に示すように、生成されるアプリケーションに対応するパターン名（例、Basic）毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、当該ルートフォルダよりも下層に配置されて複数のサブフォルダ名（例、[applicationid], src, [classnameprefix], aspect, dataSet, [tableid], WebContent）を個別に有する複数のサブフォルダと、いずれかの当該サブフォルダの下層に配置されて複数のテンプレートファイル名（例、TokenCheckAspect_java（登録商標）.vm, LogHandlerAspect_java.vm, [output]CommonDS_java.vm, Delete[Tableid]Form_java.vm, [Tableid]DS_java.vm, Regist[Tableid]Form_java.vm, Search[Tableid][Fkey]_[Screenvalue]Form_java.vm, Search[Tableid]DS_java.vm, Search[Tableid]Form_java.vm, Show[Tableid]Form_java.vm, Update[Tableid]Form_java.vm, [applicationid].css, web_xml.vm）を個別に有する複数のテンプレートファイル（各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む）とを備えた複数のパターンテンプレートフォルダであって、ルートフォルダ名と、少なくとも１つのサブフォルダ名（例、[tableid]）が入力情報に応じて変化する名称部分を示す可変情報（例、[tableid]）を更に含む各サブフォルダ名と、少なくとも１つのテンプレートファイル名（例、[output]CommonDS_java.vm, Delete[Tableid]Form_java.vm）が、入力情報に応じて変化する名称部分を示す可変情報（例、[Tableid]）及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報（例、[output]）のいずれか一方又は両方を更に含む各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な各パターンテンプレートフォルダ２０ａを予め記憶している。また、記憶装置２０は、いくつかのアプリケーションの生成に共通して用いられる共有テンプレートフォルダ２０ｂを予め記憶してもよい。共有テンプレートフォルダ２０ｂの詳細は後述する。
【００２８】
また、本実施形態において、対象情報は、図２に示すように、“[output]”を示し、可変情報は“[output]”を除く“[]”を含む値（例えば、“[applicationid]”等）を示している。更に、同実施形態では、図２に示すように、“＋”をもつ項目（例えば、“+---aspect”等）をフォルダと呼び、“＋”をもたない項目（例えば、“TokenCheckAspect_java.vm”等）をファイルと呼ぶ。なお、フォルダは拡張子をもたない項目でもあり、ファイルは拡張子をもつ項目でもある。拡張子は、ピリオドで区切られた右側の文字列部分であり、図２中では「vm」と「css」が該当する。
【００２９】
アプリケーション生成装置１０は、メモリ１１、受信部１２、テンプレートフォルダ読出し部１３、ファイルパス情報生成部１４、ファイル／フォルダ生成部１５、及びファイル／フォルダ出力部１６を備えている。
【００３０】
ここで、メモリ１１は、処理過程の情報を一時的に記憶している。
【００３１】
受信部１２は、いずれかのパターン名と、可変情報と置換可能な情報を示す置換情報と、対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む入力情報を受け付ける。また受信部１２は、入力情報を受け付けると、当該受け付けた入力情報をテンプレートフォルダ読出し部１３及びファイルパス情報生成部１４に送出する。また、受信部１２は、受け付けた入力情報をメモリ１１に書込んでもよい。
【００３２】
ここで、パターン名は、図３に示すように、２つのタグ“<pattern>”及び“</pattern>”の間に位置する値により示され、この場合、“basic”がパターン名を示している。また、出力可否情報は、図３に示すように、２つのタグ“<output usage=“condition”>”及び“</output>”の間に位置する値により示され、値“true”が出力可能である旨を示し、値“false”が否を示している。更に、置換情報は、図３に示すように、入力情報に含まれる各種情報のうち、パターン名と出力可否情報とを除いた情報を示しており、例えば、２つのタグ“<applicationid>”及び“</applicationid>”の間に位置する値により示され、この場合、可変情報“[applicationid]”が置換情報“myapp1”に置換可能であることを示している。
【００３３】
なお、テンプレートファイルに含まれる可変情報が、例えば“[tableid]”のように、全て小文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て小文字のアルファベットで表される。また、可変情報が、例えば“[Tableid]”のように、先頭の文字のみ大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は先頭の文字のみ大文字のアルファベットで表され、その他は小文字のアルファベットで表される。更に、可変情報が、例えば“[TABLEID]”のように、全て大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て大文字のアルファベットで表される。
【００３４】
ここで、このようなテンプレートフォルダ/テンプレートファイル名の命名規則を簡潔に以下に示す。
【００３５】
可変部分の定義：入力情報によって可変となる部分を”[]”で囲み定義する。可変部分は３つの定義方法がある。入力情報が「tableid：table1」の場合を例に説明する。
【００３６】
（１）入力情報をそのまま出力：[tableid]と指定することで、「table1」と出力される。
【００３７】
（２）入力情報の先頭を大文字にして出力:[Tableid]と指定することで、「Table1」と出力される。
【００３８】
（３）入力情報を全て大文字にして出力：[TABLEID]と指定することで、「TABLE1」と出力される。
【００３９】
テンプレートファイル名の命名規則は次の通りである。
【００４０】
（１）評価対象のテンプレートファイル名：評価対象のテンプレートの拡張子は「vm」とする。テンプレートを評価して生成されるファイルの拡張子を「XXX_拡張子.vm」のように、テンプレートファイル名の最後のアンダースコアの後に定義する。
【００４１】
（２）評価対象ではないテンプレートファイル名：拡張子が「vm」ではないファイルは、テンプレートとして評価せずそのファイル自体をそのままコピーする。生成されるファイルの拡張子は、元となるファイルの拡張子と同じとする。「[XXXXX].css」のように、テンプレートフォルダ名/ファイル名共通の命名規則にしたがって、ファイル名に可変部分を含めることも可能である。
【００４２】
また、上記の規則にしたがって、出力フォルダ/出力ファイル名を決定するための命名規則を以下に示す。
【００４３】
出力フォルダ/出力ファイル名共通の命名規則は、次の通りである。
【００４４】
（１）[]で囲まれた可変部分は、該当する入力情報の値に置き換える。
【００４５】
（２）それ以外の部分はそのまま出力する。
【００４６】
出力ファイルの命名規則は、次の通りである。
【００４７】
（１）評価対象のテンプレートの場合：テンプレートファイル名の一番最後のアンダースコアより後のものを拡張子として、ファイル名を決定する。
【００４８】
（２）評価対象ではないテンプレートの場合：拡張子はテンプレートファイル名のままとする。
【００４９】
以上が命名規則の説明である。
【００５０】
テンプレートフォルダ読出し部１３は、受信部１２から送出された入力情報内のパターン名をもつパターンテンプレートフォルダ２０ａを記憶装置２０から読出すテンプレートフォルダ読出機能をもっている。
【００５１】
ファイルパス情報生成部１４は、テンプレートフォルダ読出し部１３により読出されたパターンテンプレートフォルダ２０ａ内のテンプレートファイル名毎に、当該テンプレートファイル名のテンプレートファイルの格納位置を示すファイルパス情報を生成する処理を実行する。具体的には、例えば、以下の各機能(f14-1)〜(f14-8)をもっている。
【００５２】
(f14-1)  テンプレートフォルダ読出し部１３により読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、ルートフォルダからサブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第１のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスＩＤを含む当該第１のファイルパス情報を生成すると共に、当該第１のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成機能。
【００５３】
(f14-2)  テンプレートパス一覧生成機能により生成されたテンプレートパス一覧内の各第１のファイルパス情報内に可変情報が含まれているか否かを判定する存在可否判定機能。
【００５４】
(f14-3)  存在可否判定機能による判定結果が存在する旨を示すとき、各第１のファイルパス情報内の可変情報を受信部１２で受け付けた入力情報内の対応する置換情報に置換えてなる第２のファイルパス情報を生成すると共に、当該第２のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成機能。
【００５５】
なお、出力フォルダパス一覧生成機能は、受信部１２で受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、第１ファイルパス情報内の当該同一の可変情報を当該複数の置換情報の各々に置換える機能を含んでいてもよい。
【００５６】
(f14-4)  出力フォルダパス一覧生成機能により生成された出力フォルダパス一覧内の第２のファイルパス情報のうち、対象情報を含む第２のファイルパス情報を抽出する抽出機能。
【００５７】
(f14-5)  受信部１２で受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定機能。
【００５８】
(f14-6)  出力可否判定機能による判定結果が否を示すとき、抽出機能により抽出された第２のファイルパス情報を出力フォルダパス一覧から削除する機能。
【００５９】
(f14-7)  出力可否判定機能による判定結果が出力可能である旨を示すとき、抽出機能により抽出された第２のファイルパス情報内の対象情報を出力フォルダパス一覧から削除する機能。
【００６０】
(f14-8)  当該削除の後の出力フォルダパス一覧内の各第２のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第３のファイルパス情報を生成すると共に、当該第３のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成機能。
【００６１】
ファイル／フォルダ生成部１５は、ファイルパス情報生成部１４により生成された出力ファイルパス一覧内の各第３のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、当該生成されたフォルダ及び空のファイルを当該第３のファイルパス情報に従って出力する出力機能をもっている。なお、ファイル／フォルダ生成部１５はフォルダ及びファイルを生成するためにＪａｖａプログラム等を用いるものとするが、Ｊａｖａプログラムを用いたファイル生成の手法は公知技術であるため、ここでは詳細な説明は省略する。また、生成されたフォルダ及びファイルの出力先（書込先）は、図示しない記憶装置であるが、これに限らず、図示した記憶装置２０又はメモリ１１としてもよい。
【００６２】
ファイル／フォルダ出力部１６は、各第３のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ各第１のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスＩＤをもつ第３のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを空のファイルに上書きする上書き機能をもっている。
【００６３】
次に、以上のように構成されたアプリケーション生成装置の動作について、図４のフローチャートと、図２，３，５〜９を参照しながら説明する。
【００６４】
始めに、受信部１２は、図３に示すように、入力情報２１を受け付けると、当該受け付けた入力情報２１をテンプレートフォルダ読出し部１３及びファイルパス情報生成部１４に送出する（ステップＳ１０１）。
【００６５】
続いて、テンプレートフォルダ読出し部１３は、入力情報２１に含まれるパターン名“basic”をもつパターンテンプレートフォルダ２０ａを記憶装置２０から読出す（ステップＳ１０２）。
【００６６】
次に、ファイルパス情報生成部１４は、パターン名“basic”をもつパターンテンプレートフォルダ２０ａに含まれるテンプレートファイル名（例えば、“TokenCheckAspect_java.vm”等）毎に、ルートフォルダ名、サブフォルダ名及び当該テンプレートファイル名を含み、各テンプレートファイルの格納位置を示す第１のファイルパス情報を生成する（ステップＳ１０３）と共に、図５に示すように、当該第１のファイルパス情報を一覧して示すテンプレートパス一覧２２を生成する。
【００６７】
例えばファイルパス情報生成部１４は、第１のファイルパス情報“[applicationid]/src/[classnameprefix]/aspect/TokenCheckAspect_java.vm”等を生成する。
【００６８】
続いて、ファイルパス情報生成部１４は、当該生成された第１のファイルパス情報毎に、これら第１のファイルパス情報を識別するためのパスＩＤ（パス識別情報）“T1,T2,…,T12”を付与する（ステップＳ１０４）。
【００６９】
次に、ファイルパス情報生成部１４は、当該生成された第１のファイルパス情報毎に、可変情報が含まれているか否かを判定する（ステップＳ１０５）。なお、ステップＳ１０５の判定の結果が否を示す場合（ステップＳ１０５：「含まない」）には、当該生成された各第１のファイルパス情報が第２のファイルパス情報であるとした後に、ステップＳ１０７に進む。
【００７０】
ステップＳ１０５の判定の結果が含む旨を示す場合（ステップＳ１０５：「含む」）には、ファイルパス情報生成部１４は、これら可変情報を当該受け付けた入力情報２１内の対応する置換情報に置換え、第２のファイルパス情報を生成する（ステップＳ１０６）と共に、図６に示すように、当該第２のファイルパス情報を一覧して示す出力フォルダパス一覧２３を生成する。
【００７１】
例えば、ファイルパス情報生成部１４は、第２のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect_java.vm”等を生成する。
【００７２】
続いて、ファイルパス情報生成部１４は、当該生成された第２のファイルパス情報のうち、対象情報“[output]”をもつ第２のファイルパス情報を抽出する（ステップＳ１０７）。
【００７３】
例えば、ファイルパス情報生成部１４は、図６に示す如き、第２のファイルパス情報“/myapp1/src/jp/co/example/dataset/[output]CommonDS_java.vm”を抽出する。
【００７４】
次に、ファイルパス情報生成部１４は、当該受け付けた入力情報２１に含まれる出力可否情報“true”に基づいて、当該抽出された第２のファイルパス情報が出力可能であるか否かを判定する（ステップＳ１０８）。
【００７５】
ステップＳ１０８の判定の結果が否を示す場合（ステップＳ１０８「出力できない」）には、ファイルパス情報生成部１４は、当該抽出された第２のファイルパス情報を出力フォルダパス一覧２３から削除する（ステップＳ１０９）。
【００７６】
ステップＳ１０８の判定の結果が出力可能である旨を示す場合（ステップＳ１０８：「出力できる」）には、ファイルパス情報生成部１４は、図７に示すように、当該抽出された第２のファイルパス情報に含まれる対象情報“[output]”を出力フォルダパス一覧２３から削除する（ステップＳ１１０）。
【００７７】
続いて、ファイルパス情報生成部１４は、図８に示すように、当該生成された第２のファイルパス情報に含まれる拡張子“vm”を当該ファイルパス情報内の拡張子情報“java”に置換え、第３のファイルパス情報を生成する（ステップＳ１１１）と共に、当該第３のファイルパス情報を一覧して示す出力ファイルパス一覧２４を生成する。
【００７８】
例えば、ファイルパス情報生成部１４は、図８に示すように、第３のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect.java”等を生成する。なお、ファイルパス情報生成部１４は、第２のファイルパス情報に含まれる最後のアンダースコアより後ろに位置する文字列を所定の拡張子情報に用いており、この場合“java”を所定の拡張子情報として用いる。
【００７９】
次に、ファイル／フォルダ生成部１５は、当該生成された第３のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し（ステップＳ１１２）、当該生成されたフォルダ及び空のファイルを当該第３のファイルパス情報に従って出力する。
【００８０】
しかる後、ファイル／フォルダ出力部１６は、各第３のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ各第１のファイルパス情報により、評価するテンプレートファイルを特定し、当該テンプレートファイルの評価をする。ファイル／フォルダ出力部１６は、評価をしたテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスＩＤをもつ第３のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを出力先の空のファイルに上書きする（ステップＳ１１３）。ステップＳ１１３の結果、生成されたアプリケーションは、図９に示す如き、出力フォルダ構造２５として表現される。なお、出力フォルダ構造２５は、アプリケーションフォルダ２５と呼んでもよい。
【００８１】
次に、ステップＳ１０６を繰り返し実行する場合の繰り返し処理について、図１０のフローチャートと、図１１〜１３の模式図とを参照しながら説明する。
【００８２】
始めに、ファイルパス情報生成部１４は、受信部１２で受け付けた入力情報内に同一の可変情報（以下、同値可変情報ともいう）に対応する複数の置換情報が含まれているか否かを判定する（ステップＳ２０１）。
【００８３】
ステップＳ２０１の判定の結果が否を示す場合（ステップＳ２０１：「含まない」）には、ファイルパス情報生成部１４は、第１のファイルパス情報内の可変情報を対応する置換情報に置換えた第２のファイルパス情報を生成し（ステップＳ２０２）、ステップＳ１０７に進む。
【００８４】
ステップＳ２０１の判定の結果が含む旨を示す場合（ステップＳ２０１：「含む」）には、ファイルパス情報生成部１４は、この同値可変情報がテンプレートパス一覧２２内の１階層のサブフォルダ名または複数階層のサブフォルダ名のどちらに含まれているかを判定する（ステップＳ２０３）。
【００８５】
ステップＳ２０３の判定の結果が１階層のサブフォルダ名に含まれる旨を示す場合（ステップＳ２０３：「１階層」）には、ファイルパス情報生成部１４は、テンプレートパス一覧２２における第１のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第１のファイルパス情報内の可変情報を対応する置換情報に置換えた第２のファイルパス情報と、第１のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第１のファイルパス情報内の可変情報を対応する置換情報に置換えた第２のファイルパス情報とを生成する（ステップＳ２０４）。すなわち、ファイルパス情報生成部１４は、図１１に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダを生成するように第２のファイルパス情報を生成する。なお、図１１中、第２のファイルパス情報は、出力フォルダパス一覧２３の一部として示されており、パスＩＤは図示を省略している。これらの図示の形式は図１２及び図１３でも同様である。
【００８６】
ステップＳ２０３の判定の結果が複数階層のサブフォルダ名に含まれる旨を示す場合（ステップＳ２０３：「複数階層」）には、ファイルパス情報生成部１４は、第１のファイルパス情報内の同値可変情報に所定の記号“$”が付与されているか否かを判定する（ステップＳ２０５）。なお同実施形態では、所定の記号が“$”を示すとしたが、所定の記号は“$”に限定されない。
【００８７】
ステップＳ２０５の判定の結果が否を示す場合（ステップＳ２０５：「付与されていない」）には、ファイルパス情報生成部１４は、第１のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table1”にそれぞれ置換え、かつ、第１のファイルパス情報内の可変情報を対応する置換情報に置換えた第２のファイルパス情報と、第１のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table2”にそれぞれ置換え、かつ、第１のファイルパス情報内の可変情報を対応する置換情報に置換えた第２のファイルパス情報とを生成する（ステップＳ２０６）。すなわち、ファイルパス情報生成部１４は、図１２に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、上位に位置する同値可変情報と下位に位置する同値可変情報とに同じ値を割り当てるように第２のファイルパス情報を生成する。
【００８８】
ステップＳ２０５の判定の結果が付与されている旨を示す場合（ステップＳ２０５：「付与されている」）には、ファイルパス情報生成部１４は、第１のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第１のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第２のファイルパス情報と、第１のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第１のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第２のファイルパス情報とを生成する（ステップＳ２０７）。すなわち、ファイルパス情報生成部１４は、図１３に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、下位に位置する同値可変情報には対応する全ての置換情報を割り当てるように第２のファイルパス情報を生成する。
【００８９】
ここで、以上説明した一実施形態の変形例を以下に示す。
【００９０】
ここでは、複数のパターンテンプレートフォルダに共通して含まれるファイル／フォルダ構造を抽出して共通化した共有テンプレートフォルダを用いる場合のアプリケーション生成装置の動作について、図１４のフローチャートと、図１５〜２０の模式図とを参照しながら説明する。
【００９１】
始めに、受信部１２は、図１５に示すように、共有テンプレートを用いるための共有変数“var”を含む入力情報２１を受け付けると、当該受け付けた入力情報２１をテンプレートフォルダ読出し部１３及びファイルパス情報生成部１４に送出する（ステップＳ３０１）。
【００９２】
続いて、テンプレートフォルダ読出し部１３は、図１６に示すように、受信部１２から送出された入力情報２１に従って、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ２０ａを記憶装置２０から読出すと共に、入力情報２１が、共有テンプレートフォルダ２０ｂを用いるための各共有変数を更に含むと、当該共有テンプレートフォルダ２０ｂを記憶装置２０から読出す（ステップＳ３０２）。
【００９３】
ここで、共有テンプレートフォルダ２０ｂは、当該共有テンプレートを示す共有ルートフォルダ名（例、common）を有する共有ルートフォルダと、共有ルートフォルダよりも下層に配置されて共有サブフォルダ名（例、[var1]）を有する共有サブフォルダと、当該共有サブフォルダの下層に配置されて共有テンプレートファイル名（例、[var2]contact_html.vm）を個別に有する共有テンプレートファイル（当該共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報（例、html）を含む）とを備えている。また、共有テンプレートフォルダは、当該共有ルートフォルダ名と、少なくとも１つの共有サブフォルダ名が入力情報２１内の第１共有変数（例、var1）に応じて変化する名称部分を示す可変情報（例、[var1]）を更に含む各共有サブフォルダ名と、少なくとも１つの共有テンプレートファイル名が、入力情報２１内の第２共有変数（例、var2）に応じて変化する名称部分を示す可変情報（例、[var2]）を更に含む共有テンプレートファイル名（例、[var2]contact_html.vm）とを用いた木構造としてフォルダ構造を表現可能となっている。
【００９４】
次に、ファイルパス情報生成部１４は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ２０ａに含まれるテンプレートファイル名毎に、第１のファイルパス情報を生成すると共に、第１のファイルパス情報を一覧して示すテンプレートパス一覧２２を生成する。また、ファイルパス情報生成部１４は、読出された共有テンプレートフォルダ２０ｂ内の共有テンプレートファイル名毎に、共有ルートフォルダから共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第４のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブフォルダの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスＩＤ“ST1”を含む当該第４のファイルパス情報を生成する（ステップＳ３０３、Ｓ３０４）と共に、図１７に示すように、当該第４のファイルパス情報をテンプレートパス一覧２２に挿入する。
【００９５】
次に、ファイルパス情報生成部１４は、当該テンプレートパス一覧２２内の第１及び第４のファイルパス情報毎に、可変情報が含まれているか否かを判定する（ステップＳ３０５）。なお、ステップＳ３０５の判定の結果が否を示す場合（ステップＳ３０５：「含まない」）には、当該生成された各第１のファイルパス情報が第２のファイルパス情報であると共に、第４のファイルパス情報が第５のファイルパス情報であるとした後に、ステップＳ３０９に進む。
【００９６】
ステップＳ３０５の判定の結果が含む旨を示す場合（ステップＳ３０５：「含む」）には、ファイルパス情報生成部１４は、前述同様に、これら可変情報を当該受け付けた入力情報内の対応する置換情報に置換え、パターン名“extension”をもつパターンテンプレートフォルダ２０ａについての第２のファイルパス情報を生成すると共に、第２のファイルパス情報を一覧して示す出力フォルダパス一覧２３を生成する。また、ファイルパス情報生成部１４は、第４のファイルパス情報内に可変情報が存在する旨を判定したとき、第４のファイルパス情報内の可変情報を当該受け付けた入力情報２１内の対応する置換情報に置換えてなる第５のファイルパス情報を生成する（ステップＳ３０６）と共に、図１８に示すように、当該第５のファイルパス情報を出力フォルダパス一覧２３に挿入する。
【００９７】
続いて、ファイルパス情報生成部１４は、当該生成された第２及び第５のファイルパス情報内に可変情報が残っているか否かを判定する（ステップＳ３０７）。なお、ステップＳ３０７の判定の結果が否を示す場合（ステップＳ３０７：「残っていない」）には、ステップＳ３０９に進む。
【００９８】
ステップＳ３０７の判定の結果が残っている旨を示す場合（ステップＳ３０７：「残っている」）には、ファイルパス情報生成部１４は、第２及び第５のファイルパス情報を生成するための置換処理が所定の回数、実行されたか否かを判定する（ステップＳ３０８）。なお、ステップＳ３０８の判定の結果が否を示す場合（ステップＳ３０８：「実行しない」）には、ファイルパス情報生成部１４は、再度ステップＳ３０６に戻る。また、ステップＳ３０８の判定の結果が実行された旨を示す場合（ステップＳ３０８：「実行した」）には、第２及び第５のファイルパス情報を生成するための置換処理を繰り返し実行したとしてもファイルパス情報内に可変情報が残ってしまう無限ループであるとみなし、処理を終了させる。この種の無限ループとしては、例えば、入力情報２１内の共有変数に対応する置換情報が可変情報と同じ値の場合（例、var1:[var1]）等がある。
【００９９】
次に、ファイルパス情報生成部１４は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ２０ａについての第３のファイルパス情報を生成すると共に、第３のファイルパス情報を一覧して示す出力ファイルパス一覧２４を生成する。また、ファイルパス情報生成部１４は、出力フォルダパス一覧２３内の第５のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第６のファイルパス情報を生成する（ステップＳ３０９）と共に、図１９に示すように、当該第６のファイルパス情報を出力ファイルパス一覧２４に挿入する。なお、第２及び第５のファイルパス情報のうち、拡張子が“vm”でない第２又は第５のファイルパス情報（例えば、“/myapp2/WebContent/myapp2.css”等）の拡張子は別の拡張子に置換えず、第２のファイルパス情報がそのまま第３のファイルパス情報になると共に、第５のファイルパス情報がそのまま第６のファイルパス情報になるものとする。
【０１００】
続いて、ファイル／フォルダ生成部１５は、前述同様に、当該生成された第３のファイルパス情報に基づいてフォルダ及び空のファイルを生成して出力する（ステップＳ３１０）。また、ファイル／フォルダ生成部１５は、出力ファイルパス一覧２４内の第６のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第６のファイルパス情報に従って出力する。
【０１０１】
しかる後、ファイル／フォルダ出力部１６は、前述したステップＳ１１３と同様に、各第３及び各第１のファイルパス情報に基づいて、生成したアプリケーションファイルを空のファイルに上書きする。また、ファイル／フォルダ出力部１６は、第６のファイルパス情報内のパスＩＤに一致するパスＩＤをもつ第４のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスＩＤをもつ第４のファイルパス情報が示す共有ファイル名とすることにより、図２０に示すように、当該生成したアプリケーション共有ファイルを空の共有ファイルに上書きする（ステップＳ３１１）。
【０１０２】
なお、本変形例では、上述したステップＳ１０７〜Ｓ１１０に対応する処理を省略するものとしたが、テンプレートフフォルダ読出し部１３により読出されたテンプレートフォルダに応じて、これらの処理は適宜実行されるものとする。また、上述したステップＳ２０１〜Ｓ２０７の繰り返し処理も、テンプレートフォルダ読出し部１３により読出されたテンプレートフォルダに応じて適宜実行されるものとする。
【０１０３】
また、本実施形態では、アプリケーション生成装置１０がファイルを生成するためのテンプレートエンジンとして、Apache Velocity Projectで開発されたVelocityを用いるものとしたが、これに限定されず、例えば、オープンソースのFreeMarker等のテンプレートエンジンが適用可能である。
【０１０４】
更に、同実施形態では、入力情報がＸＭＬ（Extensible Markup Language）形式の情報であるとしたが、これに限定されず、例えば、ＣＳＶ（Comma Separated Values）形式等の入力情報が適用可能である。
【０１０５】
以上説明した本実施形態によれば、ファイルパス情報生成部１４、ファイル／フォルダ生成部１５及びファイル／フォルダ出力部１６を備えた構成により、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減することができる。
【０１０６】
補足すると、本実施形態によれば、テンプレートファイルを元にしたアプリケーション生成装置において、テンプレートファイルのフォルダ構造やファイル名に規則を持たせる構成により、生成するフォルダ構造やファイル名の設定コストを削減している。
【０１０７】
例えば、テンプレートファイルを格納するフォルダ構造を利用して、出力するフォルダ構造を決定している。また、テンプレートファイル名に含めた可変情報を利用して、出力ファイル名で可変となる部分を置き換える処理、テンプレートファイル名の拡張子「ｖｍ」を利用して、単なるファイルのコピーであるかテンプレートを評価して出力するのか決定する処理、テンプレートファイル名に含めた出力可否情報[output]を利用して、テンプレートファイルからファイルを生成する必要があるかどうかの決定をする処理、テンプレートファイル名のアンダースコアより後の文字列を利用して、出力ファイル名の拡張子を指定する処理などを行う。これらの構成により、本実施形態では、アプリケーション生成装置で対象とするテンプレートファイルの場所や、それと対応する出力ファイル名やフォルダ構造の情報を、設定ファイルに定義する必要をなくしている。
【０１０８】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１０９】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１１０】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１１１】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１１２】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１１３】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１１４】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１１５】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１６】
１…アプリケーション生成システム、１０…アプリケーション生成装置、１１…メモリ、１２…受信部、１３…テンプレートフォルダ読出し部、１４…ファイルパス情報生成部、１５…ファイル／フォルダ生成部、１６…ファイル／フォルダ出力部、２０…記憶装置，２０ａ…パターンテンプレートフォルダ、２０ｂ共有テンプレートフォルダ…、２１…入力情報、２２…テンプレートパス一覧、２３…出力フォルダパス一覧、２４…出力ファイルパス一覧、２５…出力フォルダ構造。
【図１】
0005426632.tif 000002
【図２】
0005426632.tif 000003
【図３】
0005426632.tif 000004
【図４】
0005426632.tif 000005
【図５】
0005426632.tif 000006
【図６】
0005426632.tif 000007
【図７】
0005426632.tif 000008
【図８】
0005426632.tif 000009
【図９】
0005426632.tif 000010
【図１０】
0005426632.tif 000011
【図１１】
0005426632.tif 000012
【図１２】
0005426632.tif 000013
【図１３】
0005426632.tif 000014
【図１４】
0005426632.tif 000015
【図１５】
0005426632.tif 000016
【図１６】
0005426632.tif 000017
【図１７】
0005426632.tif 000018
【図１８】
0005426632.tif 000019
【図１９】
0005426632.tif 000020
【図２０】
0005426632.tif 000021