public class SimplePropertyNamespaceHandler extends ObjectSE implements NamespaceHandler
NamespaceHandler 実装。注意すべき重要な点は、この NamespaceHandler には対応するスキーマがないため、すべての可能な属性名を事前に知る方法がないためです。 この NamespaceHandler の使用例を以下に示します。
<bean id="rob" class="..TestBean" p:name="Rob Harrop" p:spouse-ref="sally"/>ここで、'
p:name' は、クラス 'TestBean' の 'name' プロパティに直接対応しています。"p:spouse-ref" 属性は "spouse" プロパティに対応し、具体的な値ではなく、そのプロパティに注入される Bean の名前が含まれています。| コンストラクターと説明 |
|---|
SimplePropertyNamespaceHandler() |
| 修飾子と型 | メソッドと説明 |
|---|---|
BeanDefinitionHolder | decorate(NodeSE node, BeanDefinitionHolder definition, ParserContext parserContext) 指定された NodeSE を解析し、提供された BeanDefinitionHolder を装飾し、装飾された定義を返します。 |
void | init() 構築後、カスタム要素が解析される前に DefaultBeanDefinitionDocumentReader によって呼び出されます。 |
BeanDefinition | parse(ElementSE element, ParserContext parserContext) 指定された ElementSE を解析し、結果の BeanDefinitions を、提供された ParserContext に埋め込まれている BeanDefinitionRegistry に登録します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void init()
NamespaceHandlerDefaultBeanDefinitionDocumentReader によって呼び出されます。@Nullable public BeanDefinition parse(ElementSE element, ParserContext parserContext)
NamespaceHandlerElementSE を解析し、結果の BeanDefinitions を、提供された ParserContext に埋め込まれている BeanDefinitionRegistry に登録します。 実装は、(たとえば) <property> タグ内にネストして使用する場合、解析フェーズの結果であるプライマリ BeanDefinition を返す必要があります。
ネストされたシナリオで使用されない場合、実装は null を返す場合があります。
NamespaceHandler 内の parse element - 1 つ以上の BeanDefinitions に解析される要素 parserContext - 解析プロセスの現在の状態をカプセル化するオブジェクト BeanDefinition (上で説明したように null にすることができます)public BeanDefinitionHolder decorate(NodeSE node, BeanDefinitionHolder definition, ParserContext parserContext)
NamespaceHandlerNodeSE を解析し、提供された BeanDefinitionHolder を装飾し、装飾された定義を返します。NodeSE は、カスタム属性または要素が解析されているかどうかに応じて、AttrSE または ElementSE のいずれかになります。
実装は、完全に新しい定義を返すことを選択できます。これにより、結果の BeanFactory の元の定義が置き換えられます。
提供されている ParserContext を使用して、メイン定義をサポートするために必要な追加の Bean を登録できます。
NamespaceHandler 内の decorate node - 解析されるソース要素または属性 definition - 現在の Bean 定義 parserContext - 解析プロセスの現在の状態をカプセル化するオブジェクト null 値は厳密には無効ですが、元の Bean 定義が返される場合と同様に寛大に扱われます。