S2コンテナを構成および構築するためのクラスを提供します。

このパッケージに含まれるクラスにより、S2コンテナの構築が出来ます。 構築を担当するS2コンテナファクトリは、 コンフィグレータやプロバイダの差し替えによりカスタマイズが可能です。

#### ファクトリ

S2コンテナの構築をするためのクラス群です。

- S2ContainerFactory
- SingletonS2ContainerFactory
- CircularIncludeRuntimeException

#### ビルダ

S2コンテナの構築をファクトリの内部で実際に担当するクラス群です。 どういった情報に基づいてS2コンテナを構築するかといったことを決定します。

- S2ContainerBuilder
- AbstractS2ContainerBuilder
- XmlS2ContainerBuilder

#### ファクトリのカスタマイズポイント

S2コンテナファクトリの挙動をカスタマイズするためのクラス群です。

- S2ContainerFactory.Configurator
- S2ContainerFactory.DefaultConfigurator
- S2ContainerFactory.Provider
- S2ContainerFactory.DefaultProvider
- PathResolver
- SimplePathResolver
- ClassPathResourceResolver
- ResourceResolver
- WebResourceResolver

#### アノテーションの解釈

コンポーネントに付けられたアノテーションを解釈するためのクラス群です。

- AnnotationHandler
- AnnotationHandlerFactory
- AbstractAnnotationHandler
- ConstantAnnotationHandler
- AspectDefFactory

#### diconファイルの解釈

設定ファイルとしてdiconファイルを使う場合に、 diconファイルの解析をするためのクラス群です。

- AbstractTagHandler
- ArgTagHandler
- AspectTagHandler
- ComponentsTagHandler
- ComponentTagHandler
- DestroyMethodTagHandler
- IncludeTagHandler
- InitMethodTagHandler
- InterTypeTagHandler
- MetaTagHandler
- MethodTagHandler
- PropertyTagHandler
- S2ContainerTagHandlerRule
- TagAttributeNotDefinedRuntimeException