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 定義が返される場合と同様に寛大に扱われます。