public abstract class UIComponentBase extends UIComponent
UIComponentBase は、UIComponent
によって定義されたすべてのメソッドのデフォルトの具体的な動作を実装する便利な基本クラスです。
デフォルトでは、このクラスは getRendersChildren()
を定義して、このコンポーネントのレンダラーを見つけ、その getRendersChildren()
メソッドを呼び出します。Renderer
のデフォルト実装は false
を返します。Jakarta Server Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドから true
を返し、このクラスとレンダラー(Renderer.encodeChildren(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
)の encodeChildren(jakarta.faces.context.FacesContext)
の実装に依存することをお勧めします。子のレンダリングを管理するサブクラスは、このメソッドをオーバーライドして、代わりに true
を返す必要があります。
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
コンストラクターと説明 |
---|
UIComponentBase() |
修飾子と型 | メソッドと説明 |
---|---|
void | addClientBehavior(StringSE eventName, ClientBehavior behavior) |
protected void | addFacesListener(FacesListener listener) 指定された FacesListener を、この UIComponent からイベント通知を受信するために登録されたリスナーのセットに追加します。 |
void | broadcast(FacesEvent event) 指定された FacesEvent を、この型のイベントに関心を示しているすべての登録済みイベントリスナーにブロードキャストします。 |
void | clearInitialState()
|
void | decode(FacesContext context) 指定された FacesContext に含まれるリクエストからこの UIComponent の新しい状態をデコードし、必要に応じてこの状態を保存します。 |
void | encodeBegin(FacesContext context) |
void | encodeChildren(FacesContext context) |
void | encodeEnd(FacesContext context) |
UIComponent | findComponent(StringSE expression) |
MapSE<StringSE, ObjectSE> | getAttributes() この UIComponent に関連付けられた属性(およびプロパティ、以下を参照)を表す変更可能な Map を返します。属性名(文字列である必要があります)をキーにします。 |
int | getChildCount() この UIComponent に関連付けられている子 UIComponent の数を返します。 |
ListSE<UIComponent> | getChildren() |
MapSE<StringSE, ListSE<ClientBehavior>> | getClientBehaviors() これは |
StringSE | getClientId(FacesContext context) このコンポーネントのクライアント側識別子を返し、必要に応じて生成します。 |
StringSE | getDefaultEventName() これは |
CollectionSE<StringSE> | getEventNames() これは |
protected FacesContext | getFacesContext() 現在のリクエストの FacesContext インスタンスを返す便利なメソッド。 |
protected FacesListener[] | getFacesListeners(ClassSE clazz) 指定されたクラスのインスタンスである登録済み FacesListener の配列を返します。 |
UIComponent | getFacet(StringSE name) 名前付きファセットが存在する場合はそれを返すコンビニエンスメソッド、そうでない場合は null |
int | getFacetCount() この UIComponent に関連付けられているファセット UIComponent の数を返します。 |
MapSE<StringSE, UIComponent> | getFacets() |
IteratorSE<UIComponent> | getFacetsAndChildren() |
StringSE | getId() この UIComponent のコンポーネント識別子を返します。 |
ListSE<SystemEventListener> | getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass) 型 |
UIComponent | getParent() この UIComponent の親 UIComponent を返します(存在する場合)。 |
MapSE<StringSE, ObjectSE> | getPassThroughAttributes(boolean create) このメソッドの仕様は |
protected Renderer | getRenderer(FacesContext context) このコンポーネントに関連付けられている Renderer インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null を返します。 |
StringSE | getRendererType() この UIComponent の Renderer 型を返します(存在する場合)。 |
boolean | getRendersChildren() このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。 |
ValueBinding | getValueBinding(StringSE name) 使用すべきではありません。 これは UIComponent.getValueExpression(java.lang.String) に置き換えられました。 |
boolean | invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) ビュー階層のこのコンポーネントから開始して、引数 clientId と等しい clientId を持つコンポーネントを検索し、見つかった場合は、引数 callback で ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent) メソッドを呼び出し、現在の FacesContext と見つかったコンポーネントを引数として渡します。 |
boolean | isRendered() このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、 true を返します。 |
boolean | isTransient() true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。 |
void | markInitialState()
|
void | processDecodes(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。 |
void | processRestoreState(FacesContext context, ObjectSE state) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。 |
ObjectSE | processSaveState(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。 |
void | processUpdates(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。 |
void | processValidators(FacesContext context) 次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。 |
void | queueEvent(FacesEvent event) 現在のリクエスト処理ライフサイクルフェーズの最後で、ブロードキャストするイベントをキューに入れます。 |
protected void | removeFacesListener(FacesListener listener) この UIComponent からイベント通知を受信するために登録されたリスナーのセットから、指定された FacesListener を削除します。 |
static ObjectSE | restoreAttachedState(FacesContext context, ObjectSE stateObj) このメソッドは、 saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object) を使用して保存したオブジェクトを復元する必要がある UIComponent サブクラスによって呼び出されます。 |
void | restoreState(FacesContext context, ObjectSE state) state オブジェクトのエントリから状態を復元するために必要な処理を実行します。 |
static ObjectSE | saveAttachedState(FacesContext context, ObjectSE attachedObject) このメソッドは、1 つまたは複数のアタッチされたオブジェクトを保存する |
ObjectSE | saveState(FacesContext context) インスタンスの状態を Serializable オブジェクトとして取得します。 |
void | setId(StringSE id) この UIComponent のコンポーネント ID(存在する場合)を設定します。 |
void | setParent(UIComponent parent) この |
void | setRendered(boolean rendered) この UIComponent の rendered プロパティを設定します。 |
void | setRendererType(StringSE rendererType) |
void | setTransient(boolean transientFlag) このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。 |
void | setValueBinding(StringSE name, ValueBinding binding) 使用すべきではありません。 |
void | subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener) 引数 |
void | unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener) 引数 |
encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getFamily, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MapSE<StringSE,ObjectSE> getAttributes()
UIComponent
この UIComponent
に関連付けられた属性(およびプロパティ、以下を参照)を表す可変の Map
を返します。属性名(文字列でなければなりません)をキーとします。返される実装は、すべての標準およびオプションの Map
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。
Map
実装は java.io.Serializable
インターフェースを実装する必要があります。null
キーまたは値を追加しようとすると、NullPointerException
がスローされます。ClassCastException
がスローされます。UIComponent
の実装クラスのプロパティと一致する場合、次のメソッドは特別な動作をします:containsKey
- false
を返します。get()
- プロパティが読み取り可能な場合は、getter メソッドを呼び出して、戻り値を返します(対応するラッパークラスでプリミティブ値をラップします)。それ以外の場合は IllegalArgumentException
をスローします。put()
- プロパティが書き込み可能な場合は、setter メソッドを呼び出して対応する値を設定します(対応するラッパークラスでプリミティブ値をアンラップします)。プロパティが書き込み可能でない場合、またはプリミティブ型のプロパティを null
に設定しようとした場合は、IllegalArgumentException
をスローします。remove
- IllegalArgumentException
をスローします。UIComponent
の getAttributes
public MapSE<StringSE,ObjectSE> getPassThroughAttributes(boolean create)
UIComponent
このメソッドの仕様は UIComponent.getPassThroughAttributes()
と同じですが、引数 create
が false
であり、このインスタンスにパススルー属性データ構造が存在しない場合に限り、null
を返すことができます。返される Map
実装は、すべての標準およびオプションの Map
メソッドをサポートし、さらに次の追加要件をサポートする必要があります。マップは UIComponent.getStateHelper()
を使用して格納する必要があります。
Map
実装は java.io.Serializable
を実装する必要があります。
null
キーまたは値を追加しようとすると、NullPointerException
がスローされます。
String
ではないキーを追加しようとすると、IllegalArgumentException
がスローされます。
このクラスから直接拡張するコンポーネントとの下位互換性のために、空のマップを返すデフォルトの実装が提供されています。
UIComponent
の getPassThroughAttributes
create
- true
の場合、新しい Map
インスタンスがまだ存在していなければ作成されます。false
で、既存の Map
インスタンスがない場合、インスタンスは作成されず、null
が返されます。Map
インスタンス、または null
。public StringSE getClientId(FacesContext context)
UIComponent
このコンポーネントのクライアント側識別子を返します。必要に応じて生成します。関連付けられている Renderer
がある場合は、clientId をクライアントへの送信に適した形式に変換するように要求されます。
このメソッドからの戻り値は、コンポーネントの id
プロパティが変更された場合、またはコンポーネントがクライアント ID が変更される NamingContainer
(たとえば、UIData
) に配置されない限り、インスタンスの存続期間中は同じ値である必要があります。ただし、これらの場合でも、このメソッドへの連続した呼び出しは常に同じ値を返す必要があります。実装では、clientId を決定する際に次の手順に従う必要があります。
ビュー階層内で、NamingContainer
を実装するこのコンポーネントに最も近い祖先を検索します。そのコンポーネントで getContainerClientId()
を呼び出し、結果を parentId
ローカル変数として保存します。このコンポーネントで UIComponent.getId()
を呼び出し、結果を myId
ローカル変数として保存します。myId
が null
の場合は、context.getViewRoot().createUniqueId()
を呼び出して結果を myId に割り当てます。parentId
が null
以外の場合は、myId
を parentId +
UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)
+ myId と等しくします。Renderer.convertClientId(jakarta.faces.context.FacesContext, java.lang.String)
を呼び出し、myId
を渡して結果を返します。
UIComponent
の getClientId
context
- 現在のリクエストの FacesContext
NullPointerExceptionSE
- context
が null
の場合 public StringSE getId()
UIComponent
この UIComponent
のコンポーネント識別子を返します。
UIComponent
の getId
public void setId(StringSE id)
UIComponent
この UIComponent
のコンポーネント ID(存在する場合)を設定します。コンポーネント識別子は、次の構文制限に従う必要があります。
コンポーネント識別子は、次のセマンティック制限にも従う必要があります(この制限は setId()
実装によって強制されないことに注意してください)。
NamingContainer
である最も近い祖先 UIComponent
の子孫であるすべてのコンポーネント(ファセットを含む)間で一意であるか、NamingContainer
であるそのような祖先がない場合はコンポーネントツリー全体のスコープ内で一意である必要があります。UIComponent
の setId
id
- 新しいコンポーネント識別子、またはこの UIComponent
にコンポーネント識別子がないことを示す null
IllegalArgumentExceptionSE
- id
が構文的に有効でない場合 IllegalStateExceptionSE
public UIComponent getParent()
UIComponent
この UIComponent
の親 UIComponent
があれば、それを返します。子コンポーネントが getParent( )
から null を返す場合でも、コンポーネントは、子コンポーネントをこのコンポーネントの子のリストに追加および削除できるようにする必要があります。
UIComponent
の getParent
public void setParent(UIComponent parent)
UIComponent
この UIComponent
の親 UIComponent
を設定します。parent.isInView()
が true
を返す場合、このメソッドを呼び出すと、まずこのノードに対して PreRemoveFromViewEvent
が発行され、次にこのノードの子が発行されます。次に、再親化が行われると、PostAddToViewEvent
もパブリッシュされます。最初にこのノードに対して、次にノードの子に対して行われますが、次の条件のいずれかが true の場合のみです。
FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
を返し、部分的な状態の保存が有効になります。
FacesContext.isPostback()
は false
を返し、FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
以外のものを返します
このメソッドは、開発者が決して呼び出さないでください。UIComponent
の内部実装は、親の子 List
またはファセット Map
にコンポーネントが追加または削除されると、それを呼び出します。
UIComponent
の setParent
parent
- 新しい親、またはコンポーネントツリーのルートノードの null
public boolean isRendered()
UIComponent
このコンポーネント(およびその子)をリクエスト処理ライフサイクルのレスポンスのレンダリングフェーズでレンダリングする必要がある場合は、true
を返します。
UIComponent
の isRendered
true
、それ以外の場合は false
。public void setRendered(boolean rendered)
UIComponent
この UIComponent
の rendered
プロパティを設定します。
UIComponent
の setRendered
rendered
- true
がこのコンポーネントをレンダリングする場合。それ以外の場合は、このコンポーネントをレンダリングしないでください public StringSE getRendererType()
UIComponent
この UIComponent
の Renderer
型を返します(存在する場合)。
UIComponent
の getRendererType
public void setRendererType(StringSE rendererType)
UIComponent
この UIComponent
の Renderer
型、またはそれ自体をレンダリングするコンポーネントの null
を設定します。
UIComponent
の setRendererType
rendererType
- 使用する Renderer
の型の論理識別子、またはそれ自体をレンダリングするコンポーネントの null
public boolean getRendersChildren()
UIComponent
このコンポーネントが子コンポーネントのレンダリングを担当するかどうかを示すフラグを返します。getRendersChildren()
のデフォルト実装は、このコンポーネントのレンダラーを見つけようとします。存在する場合は、Renderer.getRendersChildren()
を呼び出して結果を返します。そうでない場合は、false を返します。Jakarta Server Faces Specification のバージョン 1.2 以降、コンポーネントの作成者は、このメソッドから true
を返し、encodeChildren(jakarta.faces.context.FacesContext)
に依存することをお勧めします。
UIComponent
の getRendersChildren
true
、それ以外の場合は false
。public ListSE<UIComponent> getChildren()
UIComponent
このコンポーネントに関連付けられた子 UIComponent
を表す変更可能な List
を返します。返される実装は、すべての標準およびオプションの List
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。
List
実装は java.io.Serializable
インターフェースを実装する必要があります。null
を追加しようとすると、NullPointerException をスローする必要があります UIComponent
を実装していないオブジェクトを追加しようとすると、ClassCastException がスローされます。parent
プロパティをこのコンポーネントインスタンスに設定する必要があります。子の parent
プロパティがすでに null でない場合、子は最初に前の親から削除する必要があります(子またはファセットのいずれかである可能性があります)。parent
プロパティを null
に設定する必要があります。 子コンポーネントがビューに追加された後、Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
を呼び出して、PostAddToViewEvent
.class
を最初の引数として渡し、新しく追加されたコンポーネントを 2 番目の引数として渡します。
FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
を返し、部分的な状態の保存が有効になります。
FacesContext.isPostback()
は false
を返し、FacesContext.getCurrentPhaseId()
は PhaseId.RESTORE_VIEW
以外のものを返します
UIComponent
の getChildren
public int getChildCount()
UIComponent
この UIComponent
に関連付けられている子 UIComponent
の数を返します。子がない場合、このメソッドは 0 を返す必要があります。このメソッドが子コンポーネントリストの作成を引き起こしてはなりません。
UIComponent
の getChildCount
public UIComponent findComponent(StringSE expression)
UIComponent
以下に説明するアルゴリズムに従って、指定された検索式(存在する場合)に一致する id
で UIComponent
を検索して返します。
WARNING: 見つかった UIComponent
インスタンスがあれば、そのツリー走査コンテキストに関係なく返されます。コンポーネントから Jakarta Expression 言語にバインドされた属性を取得することは安全ではありません。Jakarta Expression Language 式には、#{component}
などの暗黙的なオブジェクトを含めることができます。これらのオブジェクトは、ツリートラバースコンテキストのスコープ内で評価されることを前提としています。ツリートラバーサルコンテキストの外でこれらの種類の暗黙的なオブジェクトを使用して式を評価すると、未定義の結果が生成されます。見つかった UIComponent
インスタンスを操作するときにツリートラバーサルコンテキストを正しく説明するメソッドについて は、UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)
を参照してください。UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)
は、単純な clientId
が与えられたコンポーネントを見つけるのにも役立ちます。
コンポーネント識別子は、このコンポーネント(このコンポーネント自体の可能性があります)を囲む最も近い祖先 NamingContainer
のスコープ内で一意である必要があります。このコンポーネントの祖先に NamingContainer
コンポーネントがない場合、ツリーのルートコンポーネントは、そのクラスが実際に NamingContainer
インターフェースを実装しているかどうかに関係なく、NamingContainer
であるかのように扱われます。
検索式は、識別子(UIComponent
の id
プロパティと完全に一致するか、UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)
文字値によってリンクされた一連のそのような識別子のいずれかで構成されます。検索アルゴリズムは次のように動作するはずですが、代替のアルゴリズムを長く使用することもできます。最終結果は同じなので:
UIComponent
を特定します。UIComponent
になります。先頭の区切り文字は削除され、検索式の残りの部分は、以下で説明する「相対」検索式として扱われます。UIComponent
が NamingContainer
である場合は、それがベースとして機能します。NamingContainer
が検出された場合は、それがベースになります。NamingContainer
が検出されない場合)、ルート UIComponent
がベースになります。id
を持つコンポーネント(存在する場合)を検索するために使用されます。照合は次のように実行されます。id
プロパティと比較され、次にベース UIComponent
のファセットと子を再帰的に調べます(子孫 NamingContainer
が見つかった場合、そのファセットと子は検索されません)。NamingContainer
を見つけます。次に、この NamingContainer
の findComponent()
メソッドが呼び出され、検索式の残りの部分が渡されます。UIComponent
の findComponent
expression
- 返される UIComponent
を識別する検索式 UIComponent
、またはコンポーネントが見つからなかった場合は null
NullPointerExceptionSE
- expr
が null
の場合 public boolean invokeOnComponent(FacesContext context, StringSE clientId, ContextCallback callback) throws FacesException
ビュー階層のこのコンポーネントから開始して、引数 clientId
と等しい clientId
を持つコンポーネントを検索し、見つかった場合は、引数 callback
で ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出し、現在の FacesContext
と見つかったコンポーネントを引数として渡します。このメソッドは UIComponent.findComponent(java.lang.String)
に似ていますが、ビューのルートから検索するための主要な UINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)
構文をサポートしていません。
デフォルトの実装では、最初に this.getClientId()
が引数 clientId
と等しいかどうかをチェックします。その場合は、最初に UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出し、次に引数コールバックで ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
メソッドを呼び出して、FacesContext
引数を渡し、これをコンポーネント引数として渡します。次に UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。コールバックによって Exception
がスローされた場合は、FacesException
でラップして、再度スローします。それ以外の場合は、true
を返します。
それ以外の場合は、UIComponent.getFacetsAndChildren()
によって返される各コンポーネントについて、このメソッドに引数を順番に渡して invokeOnComponent()
を呼び出します。invokeOnComponent()
が初めて true を返したときは、残りの Iterator
のトラバースを中止し、true
を返します。
ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出す場合、このメソッドの実装は、コールバックに渡されたコンポーネントの状態が、引数 clientId
で見つかった状態に関するビュー階層内のコンポーネントの位置を正しく反映することを保証する必要があります。例: UIData
などの反復コンポーネントは、正しい行に基づく適切な子コンポーネントを見つける前に、引数 clientId
を正しく反映するように行インデックスを設定する必要があります。コールバックが戻るとき、通常または Exception
をスローすることにより、このメソッドの実装は、ビューの状態をコールバックを呼び出す前の状態に復元する必要があります。
UIComponent.getFacetsAndChildren()
のどの要素も invokeOnComponent()
から true
を返さなかった場合は、false
を返します。
clientId
でコンポーネントを検索する簡単な使用例。
private UIComponent found = null;
private void doFind(FacesContext context, String clientId) {
context.getViewRoot().invokeOnComponent(context, clientId,
new ContextCallback() {
public void invokeContextCallback(FacesContext context,
UIComponent component) {
found = component;
}
});
}
UIComponent
の invokeOnComponent
context
- 現在のリクエストの FacesContext
clientId
- 引数コールバックに渡されるコンポーネントのクライアント識別子。callback
- Callback インターフェースの実装。true
指定された clientId
を持つコンポーネントが見つかった場合、そのコンポーネントを引数として渡してコールバックメソッドが正常に呼び出され、例外はスローされませんでした。指定された clientId
のコンポーネントが見つからない場合、false
を返します。NullPointerExceptionSE
- いずれかの引数が null の場合 FacesException
- 引数 Callback が例外をスローすると、FacesException
にラップされて再スローされます。public MapSE<StringSE,UIComponent> getFacets()
UIComponent
この UIComponent
に関連付けられたファセット UIComponent
を表す変更可能な Map
を返します。ファセット名(文字列である必要があります)をキーとします。返される実装は、すべての標準およびオプションの Map
メソッドをサポートする必要があり、さらに次の追加要件もサポートする必要があります。
Map
実装は java.io.Serializable
インターフェースを実装する必要があります。null
キーまたは値を追加しようとすると、NullPointerException がスローされます。UIComponent
以外の値を追加しようとすると、ClassCastException がスローされます。UIComponent
が追加されるたびに:parent
プロパティをこのコンポーネントインスタンスに設定する必要があります。parent
プロパティがすでに null 以外の場合、コンポーネントは最初に前の親(子またはファセットのいずれかであった可能性がある)から削除する必要があります。UIComponent
が削除されるときはいつでも:parent
プロパティは null
に設定する必要があります。UIComponent
の getFacets
public int getFacetCount()
UIComponent
この UIComponent
に関連付けられているファセット UIComponent
の数を返します。ファセットがない場合、このメソッドは 0 を返す必要があります。このメソッドにより、ファセットコンポーネントマップが作成されないようにする必要があります。
UIComponent を直接拡張するクラスとの下位互換性のために、単に UIComponent.getFacets()
を呼び出し、次に返された Map
で size()
メソッドを呼び出すデフォルト実装が提供されています。このメソッドのより最適化されたバージョンが getFacetCount()
で提供されています。
UIComponent
の getFacetCount
public UIComponent getFacet(StringSE name)
UIComponent
名前付きファセットが存在する場合はそれを返し、そうでない場合は null
を返す簡易メソッド。リクエストされたファセットが存在しない場合は、ファセットマップを作成しないでください。
UIComponent
の getFacet
name
- 目的のファセットの名前 null
public IteratorSE<UIComponent> getFacetsAndChildren()
UIComponent
この UIComponent
の子 UIComponent
が後に続くファセットに Iterator
を返します。ファセットは未定義の順序で返され、その後にすべての子が子リストに格納されている順序で返されます。このコンポーネントにファセットまたは子がない場合、空の Iterator
が返されます。
返される Iterator
は、remove()
操作をサポートしてはなりません。
UIComponent
の getFacetsAndChildren
public void broadcast(FacesEvent event) throws AbortProcessingException
UIComponent
指定した FacesEvent
を、この型のイベントに関心を示したすべての登録済みイベントリスナーにブロードキャストします。リスナーは、追加された順に呼び出されます。
event
が BehaviorEvent
のインスタンスであり、現在の component
が event
のソースである場合、BehaviorEvent.getBehavior()
を呼び出してイベントの Behavior
を取得します。Behavior
インスタンスで Behavior.broadcast(jakarta.faces.event.BehaviorEvent)
を呼び出します。
UIComponent
の broadcast
event
- 放送される FacesEvent
AbortProcessingException
- Jakarta Server Faces 実装に、現在のイベントでこれ以上の処理を実行しないことを通知します IllegalStateExceptionSE
NullPointerExceptionSE
- event
が null
の場合 public void decode(FacesContext context)
UIComponent
指定された FacesContext
に含まれるリクエストからこの UIComponent
の新しい状態をデコードし、必要に応じてこの状態を保存します。
デコード中、queueEvent()
を呼び出すことにより、(インタレストを登録したイベントリスナーによる)後の処理のためにイベントをキューに入れることができます。
UIComponent
の decode
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public void encodeBegin(FacesContext context) throws IOExceptionSE
UIComponent
rendered
プロパティが true
の場合、この UIComponent
の現在の状態の開始を、指定された FacesContext
に含まれるレスポンスにレンダリングします。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)
を呼び出します。Application.publishEvent(jakarta.faces.context.FacesContext, java.lang.Class<? extends jakarta.faces.event.SystemEvent>, java.lang.Object)
を呼び出し、最初の引数として PreRenderComponentEvent
.class
を渡し、2 番目の引数としてレンダリングされるコンポーネントインスタンスを渡します。
Renderer
がこの UIComponent
に関連付けられている場合、実際のエンコーディングは Renderer.encodeBegin(FacesContext, UIComponent)
に委譲されます。
rendered
プロパティが false
の場合、UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)
を呼び出してすぐに戻ります。
UIComponent
の encodeBegin
context
- FacesContext
は作成中のレスポンス NullPointerExceptionSE
- context
が null
の場合 IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 public void encodeChildren(FacesContext context) throws IOExceptionSE
UIComponent
rendered
プロパティが true
の場合、この UIComponent
の子 UIComponent
をレンダリングします。このメソッドは、rendersChildren
プロパティが true
の場合にのみ呼び出されます。
Renderer
がこの UIComponent
に関連付けられている場合、実際のエンコーディングは Renderer.encodeChildren(FacesContext, UIComponent)
に委譲されます。この UIComponent
に関連付けられている Renderer
がない場合は、このコンポーネントの各子を反復処理し、UIComponent.encodeAll(jakarta.faces.context.FacesContext)
を呼び出します。
UIComponent
の encodeChildren
context
- FacesContext
は作成中のレスポンス NullPointerExceptionSE
- context
が null
の場合 IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 public void encodeEnd(FacesContext context) throws IOExceptionSE
UIComponent
rendered
プロパティが true
の場合、この UIComponent
の現在の状態の終了をレンダリングします。
Renderer
がこの UIComponent
に関連付けられている場合、実際のエンコーディングは Renderer.encodeEnd(FacesContext, UIComponent)
に委譲されます。
UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。rendered
プロパティの値に関係なく戻る前。
UIComponent
の encodeEnd
context
- FacesContext
は作成中のレスポンス IOExceptionSE
- レンダリング中に入出力エラーが発生した場合 NullPointerExceptionSE
- context
が null
の場合 protected void addFacesListener(FacesListener listener)
指定された FacesListener
を、この UIComponent
からイベント通知を受信するために登録されたリスナーのセットに追加します。イベントソースとして機能する UIComponent
クラスには、必要な型のリスナーを登録するための対応する型安全 API があり、それらの登録メソッドの実装はこのメソッドに委譲されることが予想されます。例:
public class FooEvent extends FacesEvent { ... protected boolean isAppropriateListener(FacesListener listener) { return (listener instanceof FooListener); } protected void processListener(FacesListener listener) { ((FooListener) listener).processFoo(this); } ... } public interface FooListener extends FacesListener { public void processFoo(FooEvent event); } public class FooComponent extends UIComponentBase { ... public void addFooListener(FooListener listener) { addFacesListener(listener); } public void removeFooListener(FooListener listener) { removeFacesListener(listener); } ... }
UIComponent
の addFacesListener
listener
- 登録する FacesListener
NullPointerExceptionSE
- listener
が null
の場合 protected FacesListener[] getFacesListeners(ClassSE clazz)
UIComponent
指定されたクラスのインスタンスである登録された FacesListener
の配列を返します。そのような登録されたリスナーがない場合、長さ 0 の配列が返されます。返された配列は、要素型 clazz
に強く型付けされた配列に安全にキャストできます。
UIComponent
の getFacesListeners
clazz
- 返されるために FacesListener
によって実装される必要があるクラス IllegalArgumentExceptionSE
- class
が FacesListener
ではなく、実装していない場合 NullPointerExceptionSE
- clazz
が null
の場合 protected void removeFacesListener(FacesListener listener)
この UIComponent
からイベント通知を受信するために登録されたリスナーのセットから、指定された FacesListener
を削除します。
UIComponent
の removeFacesListener
listener
- 登録解除する FacesListener
NullPointerExceptionSE
- listener
が null
の場合 public void queueEvent(FacesEvent event)
UIComponent
現在のリクエスト処理ライフサイクルフェーズの最後に、ブロードキャストするイベントをキューに入れます。UIComponentBase
のデフォルト実装では、この呼び出しを親 UIComponent
の queueEvent()
メソッドに委譲する必要があります。
UIComponent
の queueEvent
event
- キューに入れられる FacesEvent
IllegalStateExceptionSE
- このコンポーネントが UIViewRoot
の子孫でない場合 NullPointerExceptionSE
- event
が null
の場合 public void subscribeToEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
引数 componentListener
によって参照されるリスナーインスタンスを、この UIComponent
の特定のインスタンスから発生する eventClass
型のイベントのリスナーとしてインストールします。デフォルトの実装では、引数 componentListener
を listener
引数としてラップする内部 SystemEventListener
インスタンスを作成します。この内部クラスは、SystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
の実装で引数 componentListener
を介して呼び出す必要があり、この UIComponent
のインスタンスクラスが引数から isListenerForSource
に割り当て可能である場合、SystemEventListener.isListenerForSource(java.lang.Object)
の実装は true を返す必要があります。
UIComponent
の subscribeToEvent
eventClass
- listener
を発生させる必要があるイベントの Class
componentListener
- 型 facesEventClass
のイベントが発生したときに ComponentSystemEventListener.processEvent(jakarta.faces.event.ComponentSystemEvent)
メソッドを呼び出す必要がある ComponentSystemEventListener
の実装。NullPointerExceptionSE
- 引数のいずれかが null
の場合。public void unsubscribeFromEvent(ClassSE<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
引数 componentListener
によって参照されるリスナーインスタンスを、この UIComponent
の特定のインスタンスから発生する型 eventClass
のイベントのリスナーとして削除します。既存のリスナーは引数 componentListener
に等しい(従って、除去しなければならない)であるかどうかを決定するための比較を行うときに、既存のリスナーに equals()
メソッドは、引数 componentListener
ではなく、他の方法で回避を渡す、呼び出されなければなりません。
UIComponent
の unsubscribeFromEvent
eventClass
- listener
を削除する必要があるイベントの Class
componentListener
- 型 eventClass
のイベントが発生したときに ComponentSystemEventListener.processEvent(jakarta.faces.event.ComponentSystemEvent)
メソッドを呼び出さない ComponentSystemEventListener
の実装。NullPointerExceptionSE
- 引数のいずれかが null
の場合。public ListSE<SystemEventListener> getListenersForEventClass(ClassSE<? extends SystemEvent> eventClass)
型 eventClass
のイベントに関心のある、この UIComponent
インスタンスに登録されている SystemEventListener
インスタンスを返します。
SystemEventListenerHolder
の getListenersForEventClass
UIComponent
の getListenersForEventClass
eventClass
- リスナーを返す必要があるイベントの Class
NullPointerExceptionSE
- 引数 eventClass
が null
の場合。public void processDecodes(FacesContext context)
UIComponent
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのリクエスト値の適用フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processDecodes()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。decode()
メソッドを呼び出します。finally block, just before returning.
の内部から UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出す RuntimeException
がスローされた場合は、FacesContext.renderResponse()
を呼び出して例外を再スローします。UIComponent
の processDecodes
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public void processValidators(FacesContext context)
UIComponent
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのプロセス検証フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processValidators()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。getFacetsAndChildren()
の呼び出しから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。UIComponent
の processValidators
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 PreValidateEvent
, PostValidateEvent
public void processUpdates(FacesContext context)
UIComponent
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのモデル値の更新フェーズで必要なコンポーネントツリー処理を実行します。
UIComponent
の rendered
プロパティが false
の場合、以降の処理をスキップします。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processUpdates()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出します。子またはファセットの processUpdates()
メソッドから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。UIComponent
の processUpdates
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public ObjectSE processSaveState(FacesContext context)
UIComponent
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのレンダリングレスポンスフェーズの状態保存部分で必要なコンポーネントツリー処理を実行します。
transient
プロパティを参照してください。true の場合、null
を返します。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processSaveState()
メソッドを、getFacetsAndChildren()
への呼び出しによって決定された順序で呼び出し、一時的な子とファセットをスキップします。各子またはファセットの後に UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
が正しく呼び出されることを確認してください。saveState()
メソッドを呼び出します。状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
UIComponent
の processSaveState
context
- FacesContext
(処理中のリクエスト)NullPointerExceptionSE
- context
が null
の場合 public void processRestoreState(FacesContext context, ObjectSE state)
UIComponent
次のように、このコンポーネントのすべてのファセット、このコンポーネントのすべての子、このコンポーネント自体に対して、リクエスト処理ライフサイクルのビューの復元フェーズで必要なコンポーネントツリー処理を実行します。
restoreState()
メソッドを呼び出します。UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出します。UIComponent
のすべてのファセットと子の processRestoreState()
メソッドを、getFacetsAndChildren()
の呼び出しによって決定された順序で呼び出します。子またはファセットの processRestoreState()
メソッドから戻った後、UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
を呼び出します。状態保存メソッドがサーバーに設定されている場合、このメソッドは呼び出されない可能性があります。
UIComponent
の processRestoreState
context
- FacesContext
(処理中のリクエスト)state
- 状態。NullPointerExceptionSE
- context
が null
の場合 protected FacesContext getFacesContext()
UIComponent
現在のリクエストの FacesContext
インスタンスを返す便利なメソッド。
UIComponent
の getFacesContext
protected Renderer getRenderer(FacesContext context)
UIComponent
このコンポーネントに関連付けられている Renderer
インスタンスがあれば、それを返す簡易メソッド。それ以外の場合は、null
を返します。
UIComponent
の getRenderer
context
- 現在のリクエストの FacesContext
null
。public void markInitialState()
PartialStateHolder
を実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトで PartialStateHolder.markInitialState()
を呼び出します。
PartialStateHolder
の markInitialState
UIComponent
の markInitialState
public void clearInitialState()
PartialStateHolder
を実装するこのインスタンス上の添付オブジェクトごとに、添付オブジェクトで PartialStateHolder.clearInitialState()
を呼び出します。
PartialStateHolder
の clearInitialState
UIComponent
の clearInitialState
public ObjectSE saveState(FacesContext context)
StateHolder
インスタンスの状態を Serializable
オブジェクトとして取得します。
このインターフェースを実装するクラスが、StateHolder を実装するインスタンス(イベントハンドラー、バリデーターなどを含む UIComponent
など)への参照を持っている場合、このメソッドはそれらすべてのインスタンスで StateHolder.saveState(jakarta.faces.context.FacesContext)
メソッドも呼び出す必要があります。このメソッドは、子とファセットの状態を保存してはなりませんそれは StateManager
を介して行われます
このメソッドは、実装オブジェクトの状態を変更してはなりません。つまり、このコードを実行した後:
Object state = component.saveState(facesContext);
component
は、実行前と同じでなければなりません。
このメソッドからの戻り値は Serializable
でなければなりません
context
- Faces コンテキスト。public void restoreState(FacesContext context, ObjectSE state)
StateHolder
state オブジェクトのエントリから状態を復元するために必要な処理を実行します。
このインターフェースを実装するクラスが、StateHolder も実装するインスタンスへの参照を持っている場合(イベントハンドラー、バリデーターなどを備えた UIComponent
など)、このメソッドはそれらすべてのインスタンスで StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object)
メソッドも呼び出す必要があります。
state
引数が null
の場合、アクションを実行せずに戻ります。
context
- Faces コンテキスト。state
- 状態。public boolean isTransient()
StateHolder
true の場合、このインターフェースを実装するオブジェクトは、状態の保存または復元に参加してはなりません。
true
、それ以外の場合は false
。public void setTransient(boolean transientFlag)
StateHolder
このインターフェースを実装するオブジェクトが状態の保存または復元に参加する必要があるかどうかを示します。
transientFlag
- このオブジェクトが 状態の保存または復元に参加しない場合はブール値 true
を渡し、それ以外の場合は false
を渡します。public static ObjectSE saveAttachedState(FacesContext context, ObjectSE attachedObject)
このメソッドは、1 つ以上のアタッチされたオブジェクトを保存する UIComponent
サブクラスによって呼び出されます。これは、StateHolder
インターフェースを実装しているかどうかに関係なく、アタッチされたオブジェクトを保存する作業を行う便利なメソッドです。このメソッドを使用すると、restoreAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
を使用して、アタッチされたオブジェクトを復元できます。
このメソッドは、次の型のアタッチされたオブジェクトの保存をサポートしています: これらのオブジェクトの Object
s、null
値、Collection
s。含まれているオブジェクトが Collection
ではなく、StateHolder
を実装していない場合は、引数のない public コンストラクターが必要です。返されるオブジェクトの正確な構造は未定義で不透明ですが、直列化可能です。
context
- このリクエストの FacesContext
attachedObject
- List
インスタンスまたはオブジェクトであるオブジェクト。attachedObject
(または attachedObject
を構成する要素は、StateHolder
を実装できます。NullPointerExceptionSE
- コンテキスト引数が null の場合。public static ObjectSE restoreAttachedState(FacesContext context, ObjectSE stateObj) throws IllegalStateExceptionSE
このメソッドは、saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
を使用して保存したオブジェクトを復元する必要がある UIComponent
サブクラスによって呼び出されます。この方法は saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
と密接に結び付いています。
このメソッドは、saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
でサポートされているすべての添付オブジェクト型の復元をサポートしています。
context
- このリクエストの FacesContext
stateObj
- saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
から返された不透明なオブジェクト stateObj
から復元されたオブジェクト。NullPointerExceptionSE
- コンテキストが null の場合。IllegalStateExceptionSE
- オブジェクトが saveAttachedState(jakarta.faces.context.FacesContext, java.lang.Object)
によって以前に返されなかった場合。public void addClientBehavior(StringSE eventName, ClientBehavior behavior)
これは ClientBehaviorHolder.addClientBehavior(java.lang.String, jakarta.faces.component.behavior.ClientBehavior)
のデフォルトの実装です。UIComponent
は ClientBehaviorHolder
インターフェースを実装していませんが、ClientBehaviorHolder
によって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder
契約をサポートするサブクラスは、サブクラスが ClientBehaviorHolder
を実装することを宣言し、ClientBehaviorHolder.getEventNames()
の実装を提供する必要があります。
eventName
- 振る舞いーをアタッチするクライアント側イベントの論理名。behavior
- 指定されたイベント名にアタッチする Behavior
インスタンス。public CollectionSE<StringSE> getEventNames()
これは ClientBehaviorHolder.getEventNames()
のデフォルトの実装です。UIComponent
は ClientBehaviorHolder
インターフェースを実装していませんが、ClientBehaviorHolder
によって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder
契約をサポートするサブクラスは、サブクラスが ClientBehaviorHolder
を実装することを宣言し、このメソッドをオーバーライドして、コンポーネントがサポートするクライアントイベント名の空でない Collection
を返す必要があります。
public MapSE<StringSE,ListSE<ClientBehavior>> getClientBehaviors()
これは ClientBehaviorHolder.getClientBehaviors()
のデフォルトの実装です。UIComponent
は ClientBehaviorHolder
インターフェースを実装していませんが、ClientBehaviorHolder
によって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder
契約をサポートするサブクラスは、サブクラスが ClientBehaviorHolder
を実装することを宣言し、ClientBehaviorHolder.getEventNames()
の実装を追加する必要があります。
public StringSE getDefaultEventName()
これは ClientBehaviorHolder.getDefaultEventName()
のデフォルトの実装です。UIComponent
は ClientBehaviorHolder
インターフェースを実装していませんが、ClientBehaviorHolder
によって定義されたメソッドのデフォルト実装を提供して、サブクラスの実装を簡素化しています。ClientBehaviorHolder
契約をサポートするサブクラスは、サブクラスが ClientBehaviorHolder
を実装することを宣言し、ClientBehaviorHolder.getEventNames()
の実装を提供する必要があります。
@DeprecatedSE public ValueBinding getValueBinding(StringSE name)
UIComponent.getValueExpression(java.lang.String)
に置き換えられました。UIComponent.getValueExpression(java.lang.String)
を呼び出し、結果を調べます。結果が UIComponent.setValueBinding(java.lang.String, jakarta.faces.el.ValueBinding)
で必須のラッパークラスのインスタンスである場合は、ValueBinding
インスタンスを抽出して返します。それ以外の場合は、結果を ValueBinding
の実装にラップして返します。
UIComponent
の getValueBinding
name
- ValueBinding
を取得する属性またはプロパティの名前 NullPointerExceptionSE
- name
が null
の場合 @DeprecatedSE public void setValueBinding(StringSE name, ValueBinding binding)
UIComponent.setValueExpression(java.lang.String, jakarta.el.ValueExpression)
に置き換えられました。 引数 binding
を ValueExpression
の実装にラップし、UIComponent.setValueExpression(java.lang.String, jakarta.el.ValueExpression)
を呼び出します。
UIComponent
の setValueBinding
name
- ValueBinding
を設定する属性またはプロパティの名前 binding
- 設定する ValueBinding
、または現在設定されている ValueBinding
を削除する null
IllegalArgumentExceptionSE
- name
が id
または parent
のいずれかである場合 NullPointerExceptionSE
- name
が null
の場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.