sweepではコンテナ依存型のAPIセットを提供しています。 全部自分でアプリケーション・コードを作成するよりも、便利な機能は共同利用してしまえという発想でAPIを提供しています。 APIの実装は、その気になれば自分で差し替えることも可能なようにデザインされています。 DIコンテナを利用すればカッコいいのかもしれませんが、私はそんな難しいことはまだ理解できていません。古くから利用できるテクノロジ(インタフェース)を使って地味に実装クラスを差し替えているだけのものです。 現時点で見えている範囲の、コンテナで実現できている機能は次のものがあります。 * 処理の起点となるクラス(ジョブ)の管理 * ジョブ登録と登録解除 * 実行と、処理完了後のリソースの自動開放 * 初期設定パラメータ管理 * ファイル・システムの基本操作 * ファイルの複製、移動、削除 * ディレクトリの作成、削除、移動 * ファイルの探索 * アーカイブの作成とファイルの抽出 * JMSサーバとのと仲介 * 接続情報の管理 * 処理完了後の自動リソース開放 * 不慮の切断に対する自動再接続 * 連鎖コンシューマのコールバック * リクエスト/リプライ(応答を前提とするメッセージ通信) * RDBとの仲介 * 接続情報の管理 * 処理完了後の自動リソース開放 * テーブルメタ情報のキャッシュ * 異なるRDB間のデータの複製 * クエリ・データベース(操作履歴管理) * ディレクトリ・サービス(LDAP)との仲介 * 接続情報の管理 * 基本操作APIセット * ユーザ情報の管理API * ロール(グループ)情報の管理API * アドレス情報の管理API * テキスト・データの操作 * CSV読み込み * XMLのエンティティ・リゾルバ * キーストアの基本操作 * キーの登録・削除 * 署名の確認 * ライセンス管理 * ネットワーク操作 * WEBコンテンツの入手と送付 * GUIアプリケーションの基本操作 * フレーム管理 * トップレベル・コンテナの入れ替え * メニューの管理 * ファイル選択ダイアログ * フォント選択ダイアログ * テキスト編集 * ヘルプ・コンテンツ参照のサポート