<html>
<body>
S2コンテナとその構成要素を定義するインターフェースおよび、S2コンテナの振舞いに関連した例外クラスを提供します。
<p>
主要なインターフェースを以下に示します。<sup>※1</sup>
<table border="1">
<tr>
        <th>インターフェース</th>
        <th>タグ名</th>
        <th>アノテーション</th>
        <th>説明</th>
</tr>
</tr>
        <td>S2Container</td>
        <td>components</td>
        <td style="text-align:center;">-</td>
        <td>S2コンテナを表すインターフェースです。</td>
</tr>
<tr>
        <td>ComponentDef</td>
        <td>component</td>
        <td>@Component</td>
        <td>S2コンテナに登録されるコンポーネントを表すインターフェースです。</td>
</tr>
<tr>
        <td>ArgDef</td>
        <td>arg</td>
        <td style="text-align:center;">-</td>
        <td>コンストラクタやメソッドの引数を表すインターフェースです。</td>
</tr>
<tr>
        <td>PropertyDef</td>
        <td>property</td>
        <td>@Binding<sup>※2</sup></td>
        <td>コンポーネント初期化時のセッターインジェクション(フィールドインジェクション)を表すインターフェースです。</td>
</tr>
<tr>
        <td>InitMethodDef</td>
        <td>initMethod</td>
        <td>@InitMethod</td>
        <td>コンポーネント初期化時のメソッドインジェクションを表すインターフェースです。</td>
</tr>
<tr>
        <td>DestroyMethodDef</td>
        <td>destroyMethod</td>
        <td>@DestroyMethod</td>
        <td>コンポーネント終了時のメソッドインジェクションを表すインターフェースです。</td>
</tr>
<tr>
        <td>AspectDef</td>
        <td>aspect</td>
        <td>@Aspect</td>
        <td>アスペクトの適用を表すインターフェースです。</td>
</tr>
<tr>
        <td>InterTypeDef</td>
        <td>interType</td>
        <td>@InterType</td>
        <td>フィールドやメソッドなどをコンポーネントに追加することを表すインターフェースです。</td>
</tr>
<tr>
        <td>MetaDef</td>
        <td>meta</td>
        <td style="text-align:center;">-</td>
        <td>S2コンテナ要素(S2Container、ComponentDef、ArgDef、PropertyDef)への付加情報(メタデータ)を表すインターフェースです。</td>
</tr>
</table>
※1 参考として、各インターフェースに対応するdiconファイルのタグおよびTigerアノテーションも記載しています。<br/>
※2 @Propertyアノテーションは、フィールドに対応するアクセッサをコンポーネントに追加することを表します。
</p>
</body>
</html>