2015年7月19日日曜日

[メタデータエディタ]MetaDataDao

メタデータのDAOインターフェース。
今紹介しているサンプルでは、データベースをTSVファイルとしているが、DAOインタフェースはデータベースがTSVファイルでもMySQLでも問題ないように記述する必要がある。(フレームワークやデータベースを別のものに入れ替えても、DAOが影響を受けないようにするため)

package dao;

import java.util.List;

import entity.MetaData;

/**
 * メタデータDAO
 */
public interface MetaDataDao {

    /**
     * 引数で指定されたエンティティを、データベースに追加します。
     *
     * @param metaData
     *            データベースに追加するエンティティ
     * @return INSERTされた件数
     */
    public int insert(MetaData metaData);

    /**
     * 引数で指定された主キー(サロゲートキー)を持つエンティティを取得します。
     *
     * @param metaDataId
     *            メタデータID
     * @return メタデータ
     */
    public MetaData get(Integer metaDataId);

    /**
     * 引数で示されるメタデータが存在するかチェックします。
     *
     * @param metaDataName
     *            メタデータ名
     * @return メタデータが存在すればtrue、そうでなければfalse
     */
    public boolean hasMetaData(String metaDataName);

    /**
     * ルートメタを検索します。
     *
     * @return ルートメタのリスト
     */
    public List<MetaData> findRootMeta();

    /**
     * 子メタを検索します。
     *
     * @return 子メタのリスト
     */
    public List<MetaData> findChildMeta(Integer metaDataId);

    /**
     * メタデータを更新します。
     *
     * @return 子メタのリスト
     */
    public void update(MetaData metaData);

    /**
     * メタデータを削除します。
     *
     * @param metaDataId
     *            削除するメタデータのメタデータID
     */
    public void delete(Integer metaDataId);

    /**
     * データベースのデータを、ファイルに保存します。
     *
     * @param fileName
     *            ファイル名
     */
    public void save(String fileName);
}

0 件のコメント:

コメントを投稿