public abstract class AbstractCustomizer extends Object implements ComponentCustomizer
コンポーネント定義をカスタマイズするコンポーネントカスタマイザの抽象クラスです。
カスタマイズ対象となるコンポーネントおよびカスタマイズ非対象のコンポーネントをクラスパターンで指定することができます。
指定できるクラスパターンの組み合わせは、 以下の通りです。
カスタマイズ対象のコンポーネントが実装していなくてはならないインターフェースを、 ターゲットインターフェースとしてtargetInterfaceプロパティで指定することもできます。
ターゲットインターフェースを指定した場合は、 そのインターフェースを実装したコンポーネントのみがカスタマイズの対象になります。
customize(ComponentDef)メソッドの引数で渡されたコンポーネントがカスタマイズ対象の場合は、 抽象メソッドdoCustomize(ComponentDef)を呼び出します。
サブクラスはdoCustomize(ComponentDef)メソッドを実装してコンポーネント定義をカスタマイズしてください。
| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected List<ClassPattern> |
classPatterns |
protected List<ClassPattern> |
ignoreClassPatterns |
protected Class<?> |
targetInterface |
static String |
targetInterface_BINDING |
| コンストラクタと説明 |
|---|
AbstractCustomizer() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
addClassPattern(ClassPattern classPattern) |
void |
addClassPattern(String packageName,
String shortClassNames) |
void |
addIgnoreClassPattern(ClassPattern classPattern) |
void |
addIgnoreClassPattern(String packageName,
String shortClassNames) |
void |
customize(ComponentDef componentDef)
指定されたコンポーネント定義をカスタマイズします。
|
protected abstract void |
doCustomize(ComponentDef componentDef) |
protected boolean |
isMatchClassPattern(ComponentDef componentDef) |
protected boolean |
isMatchTargetInterface(ComponentDef componentDef) |
void |
setTargetInterface(Class<?> targetInterface) |
protected final List<ClassPattern> classPatterns
protected final List<ClassPattern> ignoreClassPatterns
protected Class<?> targetInterface
public void addClassPattern(ClassPattern classPattern)
public void addIgnoreClassPattern(ClassPattern classPattern)
public void setTargetInterface(Class<?> targetInterface)
public void customize(ComponentDef componentDef)
ComponentCustomizercustomize インタフェース内 ComponentCustomizercomponentDef - コンポーネント定義protected boolean isMatchClassPattern(ComponentDef componentDef)
protected boolean isMatchTargetInterface(ComponentDef componentDef)
protected abstract void doCustomize(ComponentDef componentDef)
Copyright © 2015 The DBFlute Project. All rights reserved.