Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
java.lang.Object javax.faces.component.UIComponent javax.faces.component.UIComponentBase
public abstract class UIComponentBase
UIComponentBase является основой удобства class, который реализует поведение бетона значения по умолчанию всех методов, определенных UIComponent
.
По умолчанию этот class определяет getRendersChildren()
найти средство рендеринга для этого компонента и вызвать getRendersChildren()
метод. Реализация по умолчанию на Renderer
возвраты false
. С версии 1.2 Спецификации Поверхностей JavaServer компонентные авторы поощряются возвратиться true
от этого метода и полагаются на реализацию encodeChildren(javax.faces.context.FacesContext)
в этом class и в Средстве рендеринга (Renderer#encodeChildren
). Подклассы, которые хотят управлять рендерингом их дочерних элементов, должны переопределить этот метод, чтобы возвратиться true
вместо этого.
Полевая Сводка |
---|
Поля, наследованные от class javax.faces.component. UIComponent |
---|
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(java.lang.String eventName, ClientBehavior behavior)
Это - реализация по умолчанию |
protected void |
addFacesListener(FacesListener listener)
Добавьте указанное FacesListener к группе слушателей, зарегистрированных, чтобы получить уведомления о событии от этого UIComponent . |
void |
broadcast(FacesEvent event)
Широковещательно передайте указанное FacesEvent всем зарегистрированным слушателям события, которые выразили интерес к событиям этого типа. |
void |
clearInitialState()
Для каждого из присоединенных объектов на этом экземпляре та реализация |
void |
decode(FacesContext context)
Декодируйте любое новое состояние этого UIComponent от запроса, содержавшегося в указанном FacesContext , и сохраните это состояние как необходимый. |
void |
encodeBegin(FacesContext context)
Если наш rendered свойство true , представьте начало текущего состояния этого UIComponent к ответу, содержавшемуся в указанном FacesContext . |
void |
encodeChildren(FacesContext context)
Если наш rendered свойство true , представьте дочерний элемент UIComponent s этого UIComponent . |
void |
encodeEnd(FacesContext context)
Если наш rendered свойство true , представьте окончание текущего состояния этого UIComponent . |
UIComponent |
findComponent(java.lang.String expr)
Ищите и возвратитесь UIComponent с id это соответствует указанное выражение поиска (если любой) согласно алгоритму, описанному ниже. |
java.util.Map<java.lang.String,java.lang.Object> |
getAttributes()
Возвратите изменчивое Map представляя атрибуты (и свойства, см. ниже), связал wth это UIComponent , включенный названием атрибута (который должен быть Строкой). |
int |
getChildCount()
Возвратите число дочернего элемента UIComponent s, которые связываются с этим UIComponent . |
java.util.List<UIComponent> |
getChildren()
Возвратите изменчивое List представление дочернего элемента UIComponent s связанный с этим компонентом. |
java.util.Map<java.lang.String,java.util.List<ClientBehavior>> |
getClientBehaviors()
Это - реализация по умолчанию |
java.lang.String |
getClientId(FacesContext context)
Возвратите клиентский идентификатор для этого компонента, генерируя один в случае необходимости. |
java.lang.String |
getDefaultEventName()
Это - реализация по умолчанию |
java.util.Collection<java.lang.String> |
getEventNames()
Это - реализация по умолчанию |
protected FacesContext |
getFacesContext()
Метод удобства, чтобы возвратиться FacesContext экземпляр для текущего запроса. |
protected FacesListener[] |
getFacesListeners(java.lang.Class clazz)
Возвратите массив зарегистрированных FacesListener s, которые являются экземплярами указанного class. |
UIComponent |
getFacet(java.lang.String name)
Метод удобства, чтобы возвратить именованный фасет, если это существует, или null иначе. |
int |
getFacetCount()
Возвратите число фасета UIComponent s, которые связываются с этим UIComponent . |
java.util.Map<java.lang.String,UIComponent> |
getFacets()
Возвратите изменчивое Map представление фасета UIComponent s связанный с этим UIComponent , включенный фасетным именем (который должен быть Строкой). |
java.util.Iterator<UIComponent> |
getFacetsAndChildren()
Возвратитесь Iterator по фасету, сопровождаемому дочерним элементом UIComponent s этого UIComponent . |
java.lang.String |
getId()
Возвратите компонентный идентификатор этого UIComponent . |
java.util.List<SystemEventListener> |
getListenersForEventClass(java.lang.Class<? extends SystemEvent> eventClass)
Возвратитесь |
UIComponent |
getParent()
Возвратите родителя UIComponent из этого UIComponent , если любой. |
protected Renderer |
getRenderer(FacesContext context)
Метод удобства, чтобы возвратиться Renderer экземпляр, связанный с этим компонентом, если любой; иначе, возвратиться null . |
java.lang.String |
getRendererType()
Возвратитесь Renderer введите для этого UIComponent (если любой). |
boolean |
getRendersChildren()
Возвратите флаг, указывающий, ответственен ли этот компонент за рендеринг его дочерних компонентов. |
ValueBinding |
getValueBinding(java.lang.String name)
Осуждаемый. Это было заменено UIComponent.getValueExpression(java.lang.String) . |
boolean |
invokeOnComponent(FacesContext context, java.lang.String clientId, ContextCallback callback)
Запускаясь в этом компоненте в иерархии Представления, ищите компонент с a clientId равный параметру clientId и, если найдено, вызовите ContextCallback#invokeContextCallback метод на параметре callback , передача тока FacesContext и найденный компонент как параметры. |
boolean |
isRendered()
Возвратиться true если этот компонент (и его дочерние элементы) должен быть представлен во время Представлять фазы Ответа жизненного цикла обработки запросов. |
boolean |
isTransient()
Если это правда, Объект, реализовывая этот интерфейс не должен участвовать в сохранении состояния или восстановлении. |
void |
markInitialState()
Для каждого из присоединенных объектов на этом экземпляре та реализация |
void |
processDecodes(FacesContext context)
Выполните компонентное дерево обработка необходимого Применять фазой Значений Запроса жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом. |
void |
processRestoreState(FacesContext context, java.lang.Object state)
Выполните компонентное дерево обработка необходимого фазой Представления Восстановления жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом. |
java.lang.Object |
processSaveState(FacesContext context)
Выполните компонентное дерево обработка необходимого частью сохранения состояния Представлять фазы Ответа жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом. |
void |
processUpdates(FacesContext context)
Выполните компонентное дерево обработка необходимого фазой Значений Модели Обновления жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом. |
void |
processValidators(FacesContext context)
Выполните компонентное дерево обработка необходимого фазой Проверок допустимости Процесса жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом. |
void |
queueEvent(FacesEvent event)
Поставьте событие в очередь для широковещательной передачи в конце текущей фазы жизненного цикла обработки запросов. |
protected void |
removeFacesListener(FacesListener listener)
Удалите указанное FacesListener от группы слушателей, зарегистрированных, чтобы получить уведомления о событии от этого UIComponent . |
static java.lang.Object |
restoreAttachedState(FacesContext context, java.lang.Object stateObj)
Этим методом вызывают UIComponent подклассы, которые должны восстановить объекты, они сохранили использование saveAttachedState(javax.faces.context.FacesContext, java.lang.Object) . |
void |
restoreState(FacesContext context, java.lang.Object state)
Выполните любую обработку, требуемую восстановить состояние от записей в Объекте состояния. |
static java.lang.Object |
saveAttachedState(FacesContext context, java.lang.Object attachedObject)
Этим методом вызывают |
java.lang.Object |
saveState(FacesContext context)
Получает состояние экземпляра как a Serializable Объект. |
void |
setId(java.lang.String id)
Установите компонентный идентификатор этого UIComponent (если любой). |
void |
setParent(UIComponent parent)
Установите родителя |
void |
setRendered(boolean rendered)
Установите rendered свойство этого UIComponent . |
void |
setRendererType(java.lang.String rendererType)
Установите Renderer введите для этого UIComponent , или null для компонентов, которые представляют себя. |
void |
setTransient(boolean transientFlag)
Обозначает, должен ли Объект, реализовывая этот интерфейс или не должен участвовать в сохранении состояния или восстановлении. |
void |
setValueBinding(java.lang.String name, ValueBinding binding)
Осуждаемый. Это было заменено UIComponent.setValueExpression(java.lang.String, javax.el.ValueExpression) . |
void |
subscribeToEvent(java.lang.Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
Установите экземпляр слушателя, на который ссылается параметр |
void |
unsubscribeFromEvent(java.lang.Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
Удалите экземпляр слушателя, на который ссылается параметр |
Методы, наследованные от class java.lang. Объект |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Деталь конструктора |
---|
public UIComponentBase()
Деталь метода |
---|
public java.util.Map<java.lang.String,java.lang.Object> getAttributes()
UIComponent
Возвратите изменчивое Map
представляя атрибуты (и свойства, см. ниже), связал wth это UIComponent
, включенный названием атрибута (который должен быть Строкой). Возвращенная реализация должна поддерживать все стандартные и дополнительные Map
методы, плюс поддержка следующие дополнительные требования:
Map
реализация должна реализовать java.io.Serializable
интерфейс.null
ключ или значение должны бросить a NullPointerException
.ClassCastException
.UIComponent
's реализация class, у следующих методов будет специальное поведение: containsKey
- Возвратиться false
.get()
- Если свойство читаемо, вызовите метод метода get и возвратите возвращенное значение (обертывающий примитивные значения в их соответствующие классы обертки); иначе бросок IllegalArgumentException
.put()
- Если свойство является writeable, вызовите метод метода set, чтобы установить соответствующее значение (разворачивающий примитивные значения в их соответствующих классах обертки). Если свойство не является writeable, или попытка предпринимается, чтобы установить свойство типа примитива к null
, бросок IllegalArgumentException
.remove
- Бросок IllegalArgumentException
.
getAttributes
в class UIComponent
public ValueBinding getValueBinding(java.lang.String name)
UIComponent.getValueExpression(java.lang.String)
.
Вызовите через к UIComponent.getValueExpression(java.lang.String)
и исследуйте результат. Если результатом является экземпляр обертки class, переданный под мандат в UIComponent.setValueBinding(java.lang.String, javax.faces.el.ValueBinding)
, извлеките ValueBinding
экземпляр и возврат это. Иначе, оберните результат в реализацию ValueBinding
, и возвратите это.
getValueBinding
в class UIComponent
name
- Имя атрибута или свойства, для которого можно получить a ValueBinding
java.lang.NullPointerException
- если name
null
public void setValueBinding(java.lang.String name, ValueBinding binding)
UIComponent.setValueExpression(java.lang.String, javax.el.ValueExpression)
.
Оберните параметр binding
в реализации ValueExpression
и вызовите через к UIComponent.setValueExpression(java.lang.String, javax.el.ValueExpression)
.
setValueBinding
в class UIComponent
name
- Имя атрибута или свойства, для которого можно установить a ValueBinding
binding
- ValueBinding
установить, или null
удалить любого в настоящий момент набор ValueBinding
IllegalArgumentException
- если name
один из id
или parent
java.lang.NullPointerException
- если name
null
public java.lang.String getClientId(FacesContext context)
UIComponent
Возвратите клиентский идентификатор для этого компонента, генерируя один в случае необходимости. Связанное Renderer
, если таковые вообще имеются, попросится преобразовать clientId в форму, подходящую для передачи клиенту.
Возврат из этого метода не должен быть тем же самым значением всюду по времени жизни экземпляра, если id
свойство компонента изменяется, или компонент помещается в a NamingContainer
чей клиентский ID изменяется (например, UIData
). Однако, даже в этих случаях, последовательные звонки в этот метод должны всегда возвращать то же самое значение. Реализация должна следовать за этими шагами в определении clientId:
Найдите самого близкого предка к этому компоненту в иерархии представления, которая реализует NamingContainer
. Вызвать getContainerClientId()
на этом и сохраняют результат как parentId
локальная переменная. Вызвать UIComponent.getId()
на этом компоненте и сохраняют результат как myId
локальная переменная. Если myId
null
, вызвать context.getViewRoot().createUniqueId()
и присвойте результат myId. Если parentId
не -null
, позволить myId
равный parentId +
. Вызвать UINamingContainer#getSeparatorChar
+ myIdRenderer#convertClientId
, передача myId
, и возвратите результат.
getClientId
в class UIComponent
context
- FacesContext
для текущего запроса java.lang.NullPointerException
- если context
null
public java.lang.String getId()
UIComponent
Возвратите компонентный идентификатор этого UIComponent
.
getId
в class UIComponent
public void setId(java.lang.String id)
UIComponent
Установите компонентный идентификатор этого UIComponent
(если любой). Компонентные идентификаторы должны повиноваться следующим ограничениям синтаксиса:
Компонентные идентификаторы должны также повиноваться, следующие семантические ограничения (отметьте, что это ограничение НЕ осуществляется setId()
реализация):
UIComponent
это - a NamingContainer
, или в рамках всего компонентного дерева, если нет такого предка, который является a NamingContainer
.
setId
в class UIComponent
id
- Новый компонентный идентификатор, или null
указать что это UIComponent
не имеет компонентного идентификатора IllegalArgumentException
- если id
не синтаксически допустимо IllegalStateException
public UIComponent getParent()
UIComponent
Возвратите родителя UIComponent
из этого UIComponent
, если любой. Компонент должен позволить дочерним компонентам быть добавленными к и удаленными из списка дочерних элементов этого компонента, даже при том, что дочерний компонент возвращает нуль из getParent( )
.
getParent
в class UIComponent
public void setParent(UIComponent parent)
UIComponent
Установите родителя UIComponent
из этого UIComponent
. Если parent.isInView()
возвраты true
, вызов этого метода сначала вызовет a PreRemoveFromViewEvent
быть опубликованным, для этого узла, и затем дочерних элементов этого узла. Затем, как только перепорождение произошло, a PostAddToViewEvent
будет опубликован также, сначала для этого узла, и затем для дочерних элементов узла, но только если любое из следующих условий является истиной.
FacesContext.getCurrentPhaseId()
возвраты PhaseId.RESTORE_VIEW
и частичное сохранение состояния включается.
FacesContext.isPostback()
возвраты false
и FacesContext.getCurrentPhaseId()
возвраты что-то другое чем PhaseId.RESTORE_VIEW
Этот метод никогда не должны вызывать разработчики; a UIComponent
's внутренняя реализация вызовет это, поскольку компоненты добавляются к или удаляются от дочернего элемента родителя List
или фасет Map
.
setParent
в class UIComponent
parent
- Новый родитель, или null
для корневого узла компонентного дереваpublic boolean isRendered()
UIComponent
Возвратиться true
если этот компонент (и его дочерние элементы) должен быть представлен во время Представлять фазы Ответа жизненного цикла обработки запросов.
isRendered
в class UIComponent
public void setRendered(boolean rendered)
UIComponent
Установите rendered
свойство этого UIComponent
.
setRendered
в class UIComponent
rendered
- Если true
представьте этот компонент; иначе, не представляйте этот компонентpublic java.lang.String getRendererType()
UIComponent
Возвратитесь Renderer
введите для этого UIComponent
(если любой).
getRendererType
в class UIComponent
public void setRendererType(java.lang.String rendererType)
UIComponent
Установите Renderer
введите для этого UIComponent
, или null
для компонентов, которые представляют себя.
setRendererType
в class UIComponent
rendererType
- Логический идентификатор типа Renderer
использовать, или null
для компонентов, которые представляют себяpublic boolean getRendersChildren()
UIComponent
Возвратите флаг, указывающий, ответственен ли этот компонент за рендеринг его дочерних компонентов. Реализация по умолчанию в UIComponentBase#getRendersChildren
попытки найти средство рендеринга для этого компонента. Если это делает, это вызывает Renderer#getRendersChildren
и возвращает результат. Если это не делает, это возвращает false. С версии 1.2 Спецификации Поверхностей JavaServer компонентные авторы поощряются возвратиться true
от этого метода и полагаются UIComponentBase#encodeChildren
.
getRendersChildren
в class UIComponent
public java.util.List<UIComponent> getChildren()
UIComponent
Возвратите изменчивое List
представление дочернего элемента UIComponent
s связанный с этим компонентом. Возвращенная реализация должна поддерживать все стандартные и дополнительные List
методы, плюс поддержка следующие дополнительные требования:
List
реализация должна реализовать java.io.Serializable
интерфейс.null
должен бросить NullPointerExceptionUIComponent
должен бросить ClassCastException.parent
свойство дочернего элемента должно быть установлено в этот компонентный экземпляр. Если parent
свойство дочернего элемента уже было ненулем, дочерний элемент должен сначала быть удален из его предыдущего родителя (где это, возможно, был или дочерний элемент или фасет).parent
свойство дочернего элемента должно быть установлено в null
.После того, как дочерний компонент был добавлен к представлению, Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)
должен быть вызван, передавая PostAddToViewEvent
.class
как первый параметр и недавно добавленный компонент как второй параметр, если кто-либо следующие случаи является истиной.
FacesContext.getCurrentPhaseId()
возвраты PhaseId.RESTORE_VIEW
и частичное сохранение состояния включается.
FacesContext.isPostback()
возвраты false
и FacesContext.getCurrentPhaseId()
возвраты что-то другое чем PhaseId.RESTORE_VIEW
getChildren
в class UIComponent
public int getChildCount()
UIComponent
Возвратите число дочернего элемента UIComponent
s, которые связываются с этим UIComponent
. Если нет никаких дочерних элементов, этот метод должен возвратиться 0. Метод не должен вызвать создание дочернего компонентного списка.
getChildCount
в class UIComponent
public UIComponent findComponent(java.lang.String expr)
UIComponent
Ищите и возвратитесь UIComponent
с id
это соответствует указанное выражение поиска (если любой) согласно алгоритму, описанному ниже.
Для метода, чтобы найти компонент, данный простое clientId
, см. UIComponent.invokeOnComponent(javax.faces.context.FacesContext, java.lang.String, javax.faces.component.ContextCallback)
.
Компонентные идентификаторы обязаны быть уникальными в рамках самого близкого предка NamingContainer
это включает этот компонент (который мог бы быть этим компонентом непосредственно). Если есть нет NamingContainer
компоненты в родословной этого компонента, корневой компонент в дереве обрабатывается, как будто это был a NamingContainer
, реализует ли его class фактически NamingContainer
интерфейс.
Выражение поиска состоит из любого идентификатор (который является соответствующим точно против id
свойство a UIComponent
, или серия таких идентификаторов, соединенных UINamingContainer#getSeparatorChar
символьное значение. Алгоритм поиска должен работать следующим образом, хотя альтернатива alogrithms может использоваться, пока конечный результат является тем же самым:
UIComponent
это будет основой для того, чтобы искать, останавливаясь, как только одно из следующих условий встречается: UIComponent
из компонентного дерева. Ведущий символ разделителя будет неизолированным, и остаток от выражения поиска будет обработан как "относительное" выражение поиска как описано ниже.UIComponent
a NamingContainer
это будет служить основанием.NamingContainer
встречается, это будет основа. NamingContainer
встречается), корень UIComponent
будет основа.id
это соответствует, в рамках основного компонента. Соответствие выполняется следующим образом: id
свойство, и затем рекурсивно через фасеты и дочерние элементы основы UIComponent
(за исключением того, что, если потомок NamingContainer
находится, его собственные фасеты и дочерние элементы не ищутся).NamingContainer
по правилам в предыдущем пункте маркированного списка. Затем, findComponent()
метод этого NamingContainer
будет вызван, передавая остаток от выражения поиска.
findComponent
в class UIComponent
expr
- Выражение поиска, идентифицирующее UIComponent
быть возвращенным UIComponent
, или null
если компонент не был найден. java.lang.NullPointerException
- если expr
null
public boolean invokeOnComponent(FacesContext context, java.lang.String clientId, ContextCallback callback) throws FacesException
Запускаясь в этом компоненте в иерархии Представления, ищите компонент с a clientId
равный параметру clientId
и, если найдено, вызовите ContextCallback#invokeContextCallback
метод на параметре callback
, передача тока FacesContext
и найденный компонент как параметры. Этот метод подобен UIComponent.findComponent(java.lang.String)
но это не поддерживает продвижение UINamingContainer#getSeparatorChar
синтаксис для того, чтобы искать от корня Представления.
Реализация по умолчанию сначала проверит если this.getClientId()
равно параметру clientId
. Если так, сначала вызовите UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
, тогда вызовите ContextCallback#invokeContextCallback
метод на обратном вызове параметра, проходя FacesContext
параметр и передающий это как компонентный параметр. Затем вызовите UIComponent.popComponentFromEL(javax.faces.context.FacesContext)
. Если Exception
бросается обратным вызовом, оберните его в a FacesException
и повторно бросьте это. Иначе, возвратиться true
.
Иначе, для каждого компонента, возвращенного UIComponent.getFacetsAndChildren()
, вызвать invokeOnComponent()
передача параметров этому методу, в порядке. В первый раз invokeOnComponent()
возвращает true, прервите пересекающую остальную часть Iterator
и возвратитесь true
.
Вызывая ContextCallback#invokeContextCallback
реализация этого метода должна гарантировать, что состояние компонента, который передают к обратному вызову правильно, отражает позицию компонента в иерархии Представления относительно любого состояния, найденного в параметре clientId
. Например, компонент итерации такой как UIData
должен будет установить его строку, индексируют, чтобы правильно отразить параметр clientId
прежде, чем найти соответствующий дочерний компонент отступало корректной строкой. Когда обратный вызов возвращается, или обычно или бросая Exception
реализация этого метода должна восстановить состояние представления к способу, которым это прежде вызывало обратный вызов.
Если ни один из элементов от UIComponent.getFacetsAndChildren()
возвращенный true
от invokeOnComponent()
, возвратиться 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;
}
});
}
invokeOnComponent
в class UIComponent
context
- FacesContext
для текущего запросаclientId
- клиентский идентификатор компонента, который передадут к обратному вызову параметра.callback
- реализация интерфейса Обратного вызова. true
если компонент с данным clientId
находится, метод обратного вызова был успешно вызван, передавая тот компонент как параметр, и никакое Исключение не было выдано. Возвраты false
если никакой компонент с данным clientId
находится. java.lang.NullPointerException
- если каким-либо из параметров является нуль FacesException
- если Обратный вызов параметра выдает Исключение, он обертывается в a FacesException
и повторно брошенный.public java.util.Map<java.lang.String,UIComponent> getFacets()
UIComponent
Возвратите изменчивое Map
представление фасета UIComponent
s связанный с этим UIComponent
, включенный фасетным именем (который должен быть Строкой). Возвращенная реализация должна поддерживать все стандартные и дополнительные Map
методы, плюс поддержка следующие дополнительные требования:
Map
реализация должна реализовать java.io.Serializable
интерфейс.null
ключ или значение должны бросить NullPointerException.UIComponent
должен бросить ClassCastException.UIComponent
добавляется: parent
свойство компонента должно быть установлено в этот компонентный экземпляр.parent
свойство компонента уже было ненулем, компонент должен сначала быть удален из его предыдущего родителя (где это, возможно, был или дочерний элемент или фасет).UIComponent
удаляется: parent
свойство фасета должно быть установлено в null
.
getFacets
в class UIComponent
public int getFacetCount()
UIComponent
Возвратите число фасета UIComponent
s, которые связываются с этим UIComponent
. Если нет никаких фасетов, этот метод должен возвратиться 0. Метод не должен вызвать создание фасетной компонентной карты.
Для назад compatability с классами, которые расширяют UIComponent непосредственно, реализация по умолчанию - то, при условии, что просто вызывает UIComponent.getFacets()
и затем вызовы size()
метод на возвращенном Map
. В более оптимизированной версии этого метода обеспечивают UIComponentBase#getFacetCount
.
getFacetCount
в class UIComponent
public UIComponent getFacet(java.lang.String name)
UIComponent
Метод удобства, чтобы возвратить именованный фасет, если это существует, или null
иначе. Если требуемый фасет не существует, Карта фасетов не должна быть создана.
getFacet
в class UIComponent
name
- Имя требуемого фасетаpublic java.util.Iterator<UIComponent> getFacetsAndChildren()
UIComponent
Возвратитесь Iterator
по фасету, сопровождаемому дочерним элементом UIComponent
s этого UIComponent
. Фасеты возвращаются в неопределенном порядке, сопровождаемом всеми дочерними элементами в порядке, они сохранены в дочернем списке. Если у этого компонента нет никаких фасетов или дочерних элементов, пустого Iterator
возвращается.
Возвращенный Iterator
не должен поддерживать remove()
работа.
getFacetsAndChildren
в class UIComponent
public void broadcast(FacesEvent event) throws AbortProcessingException
UIComponent
Широковещательно передайте указанное FacesEvent
всем зарегистрированным слушателям события, которые выразили интерес к событиям этого типа. Слушателей вызывают в порядке, в котором они были добавлены.
Если event
экземпляр BehaviorEvent
и ток component
источник event
вызвать BehaviorEvent.getBehavior()
добраться Behavior
для события. Вызвать Behavior.broadcast(javax.faces.event.BehaviorEvent)
на Behavior
экземпляр.
broadcast
в class UIComponent
event
- FacesEvent
быть широковещательно переданным AbortProcessingException
- Сигнализируйте реализацию Поверхностей JavaServer, что никакая дальнейшая обработка на текущем событии не должна быть выполнена IllegalStateException
java.lang.NullPointerException
- если event
null
public void decode(FacesContext context)
UIComponent
Декодируйте любое новое состояние этого UIComponent
от запроса, содержавшегося в указанном FacesContext
, и сохраните это состояние как необходимый.
Во время декодирования события могут ставиться в очередь для дальнейшей обработки (слушателями события, которые зарегистрировали интерес), вызывая queueEvent()
.
decode
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
public void encodeBegin(FacesContext context) throws java.io.IOException
UIComponent
Если наш rendered
свойство true
, представьте начало текущего состояния этого UIComponent
к ответу, содержавшемуся в указанном FacesContext
. Вызвать UIComponent.pushComponentToEL(javax.faces.context.FacesContext,javax.faces.component.UIComponent)
. Вызвать Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)
, передача PreRenderComponentEvent
.class
как первый параметр и компонентный экземпляр, который будет представлен как второй параметр.
Если a Renderer
связывается с этим UIComponent
, фактическое кодирование будет делегировано к Renderer#encodeBegin(FacesContext, UIComponent)
.
Если наш rendered
свойство false
, вызвать UIComponent.pushComponentToEL(javax.faces.context.FacesContext,javax.faces.component.UIComponent)
и возвратитесь сразу.
encodeBegin
в class UIComponent
context
- FacesContext
для ответа мы создаем java.lang.NullPointerException
- если context
null
java.io.IOException
- если ввод/ошибка на выходе происходит, представляяpublic void encodeChildren(FacesContext context) throws java.io.IOException
UIComponent
Если наш rendered
свойство true
, представьте дочерний элемент UIComponent
s этого UIComponent
. Этот метод только вызовут если rendersChildren
свойство true
.
Если a Renderer
связывается с этим UIComponent
, фактическое кодирование будет делегировано к Renderer#encodeChildren(FacesContext, UIComponent)
. Если нет Renderer
связывается с этим UIComponent
, выполните итерации по каждому из дочерних элементов этого компонента и вызова UIComponent.encodeAll(javax.faces.context.FacesContext)
.
encodeChildren
в class UIComponent
context
- FacesContext
для ответа мы создаем java.lang.NullPointerException
- если context
null
java.io.IOException
- если ввод/ошибка на выходе происходит, представляяpublic void encodeEnd(FacesContext context) throws java.io.IOException
UIComponent
Если наш rendered
свойство true
, представьте окончание текущего состояния этого UIComponent
.
Если a Renderer
связывается с этим UIComponent
, фактическое кодирование будет делегировано к Renderer#encodeEnd(FacesContext, UIComponent)
.
Вызвать UIComponent#popComponentFromEL
. прежде, чем возвратиться независимо от значения rendered
свойство.
encodeEnd
в class UIComponent
context
- FacesContext
для ответа мы создаем java.io.IOException
- если ввод/ошибка на выходе происходит, представляя java.lang.NullPointerException
- если 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); } ... }
addFacesListener
в class UIComponent
listener
- FacesListener
быть зарегистрированным java.lang.NullPointerException
- если listener
null
protected FacesListener[] getFacesListeners(java.lang.Class clazz)
UIComponent
Возвратите массив зарегистрированных FacesListener
s, которые являются экземплярами указанного class. Если нет таких зарегистрированных слушателей, массив нулевой длиной возвращается. Возвращенный массив может быть безопасно быть брошенным массиву, со строгим контролем типов к типу элемента clazz
.
getFacesListeners
в class UIComponent
clazz
- Класс, который должен быть реализован a FacesListener
для этого, чтобы быть возвращенным IllegalArgumentException
- если class
не, и не реализует, FacesListener
java.lang.NullPointerException
- если clazz
null
protected void removeFacesListener(FacesListener listener)
Удалите указанное FacesListener
от группы слушателей, зарегистрированных, чтобы получить уведомления о событии от этого UIComponent
.
removeFacesListener
в class UIComponent
listener
- FacesListener
быть вычеркнутым из списка java.lang.NullPointerException
- если listener
null
public void queueEvent(FacesEvent event)
UIComponent
Поставьте событие в очередь для широковещательной передачи в конце текущей фазы жизненного цикла обработки запросов. Реализация по умолчанию в UIComponentBase
должен делегировать этот звонок queueEvent()
метод родителя UIComponent
.
queueEvent
в class UIComponent
event
- FacesEvent
быть поставленным в очередь IllegalStateException
- если этот компонент не является потомком a UIViewRoot
java.lang.NullPointerException
- если event
null
public void subscribeToEvent(java.lang.Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
Установите экземпляр слушателя, на который ссылается параметр componentListener
как слушатель для событий типа eventClass
возникновение из этого определенного экземпляра UIComponent
. Реализация по умолчанию создает внутреннее SystemEventListener
экземпляр, который обертывает параметр componentListener
как listener
параметр. Этот внутренний class должен вызвать через к параметру componentListener
в его реализации SystemEventListener#processEvent
и его реализация SystemEventListener#isListenerForSource
должен возвратить true если экземпляр class этого UIComponent
присваиваемо от параметра до isListenerForSource
.
subscribeToEvent
в class UIComponent
eventClass
- Class
из того, события, для который listener
должен быть запущен.componentListener
- реализация ComponentSystemEventListener
чей ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)
метод нужно вызвать когда события типа facesEventClass
запускаются. NullPointerException
- если какой-либо из параметров null
.public void unsubscribeFromEvent(java.lang.Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)
Удалите экземпляр слушателя, на который ссылается параметр componentListener
как слушатель для событий типа eventClass
возникновение из этого определенного экземпляра UIComponent
. Делая сравнение, чтобы определить, равен ли существующий слушатель параметру componentListener
(и таким образом должен быть удален), equals()
метод на существующем слушателе должен быть вызван, передавая параметр componentListener
, а не наоборот.
unsubscribeFromEvent
в class UIComponent
eventClass
- Class
из того, события, для который listener
должен быть удален.componentListener
- реализация ComponentSystemEventListener
чей ComponentSystemEventListener#processEvent
метод больше нельзя вызвать когда события типа eventClass
запускаются. NullPointerException
- если какой-либо из параметров null
.public java.util.List<SystemEventListener> getListenersForEventClass(java.lang.Class<? extends SystemEvent> eventClass)
Возвратитесь SystemEventListener
экземпляры зарегистрировались на этом UIComponent
экземпляр, которые интересуются событиями типа eventClass
.
getListenersForEventClass
в интерфейсе SystemEventListenerHolder
getListenersForEventClass
в class UIComponent
eventClass
- Class
из события, для которого должны быть возвращены слушатели. java.lang.NullPointerException
- если параметр eventClass
null
.public void processDecodes(FacesContext context)
UIComponent
Выполните компонентное дерево обработка необходимого Применять фазой Значений Запроса жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом.
rendered
свойство этого UIComponent
false
, пропуск, далее обрабатывающий.UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
.processDecodes()
метод всех фасетов и дочерние элементы этого UIComponent
, в порядке, определенном звонком getFacetsAndChildren()
.decode()
метод этого компонента.UIComponent.popComponentFromEL(javax.faces.context.FacesContext)
изнутри a finally block, just before returning.
RuntimeException
бросается во время обработки декодирования, вызвать FacesContext#renderResponse
и повторно бросьте исключение.
processDecodes
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
public void processValidators(FacesContext context)
UIComponent
Выполните компонентное дерево обработка необходимого фазой Проверок допустимости Процесса жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом.
rendered
свойство этого UIComponent
false
, пропуск, далее обрабатывающий.UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
.processValidators()
метод всех фасетов и дочерние элементы этого UIComponent
, в порядке, определенном звонком getFacetsAndChildren()
.getFacetsAndChildren()
вызвать UIComponent#popComponentFromEL
.
processValidators
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
public void processUpdates(FacesContext context)
UIComponent
Выполните компонентное дерево обработка необходимого фазой Значений Модели Обновления жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом.
rendered
свойство этого UIComponent
false
, пропуск, далее обрабатывающий.UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
.processUpdates()
метод всех фасетов и дочерние элементы этого UIComponent
, в порядке, определенном звонком getFacetsAndChildren()
. После возврата из processUpdates()
метод на дочернем элементе или фасете, вызвать UIComponent#popComponentFromEL
processUpdates
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
public java.lang.Object processSaveState(FacesContext context)
UIComponent
Выполните компонентное дерево обработка необходимого частью сохранения состояния Представлять фазы Ответа жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом.
transient
свойство этого компонента. Если это правда, только возвратитесь null
.UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
.processSaveState()
метод всех фасетов и дочерние элементы этого UIComponent
в порядке, определенном звонком getFacetsAndChildren()
, пропуск дочерних элементов и фасетов, которые являются переходным процессом. Гарантируйте это UIComponent.popComponentFromEL(javax.faces.context.FacesContext)
вызывается правильно после каждого дочернего элемента или фасета.saveState()
метод этого компонента.Этот метод нельзя вызвать, если метод сохранения состояния устанавливается в сервер.
processSaveState
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
public void processRestoreState(FacesContext context, java.lang.Object state)
UIComponent
Выполните компонентное дерево обработка необходимого фазой Представления Восстановления жизненного цикла обработки запросов для всех фасетов этого компонента, всех дочерних элементов этого компонента, и этого компонента непосредственно, следующим образом.
restoreState()
метод этого компонента.UIComponent#pushComponentToEL
. processRestoreState()
метод всех фасетов и дочерние элементы этого UIComponent
в порядке, определенном звонком getFacetsAndChildren()
. После возврата из processRestoreState()
метод на дочернем элементе или фасете, вызвать UIComponent#popComponentFromEL
Этот метод нельзя вызвать, если метод сохранения состояния устанавливается в сервер.
processRestoreState
в class UIComponent
context
- FacesContext
для запроса мы обрабатываем java.lang.NullPointerException
- если context
null
protected FacesContext getFacesContext()
UIComponent
Метод удобства, чтобы возвратиться FacesContext
экземпляр для текущего запроса.
getFacesContext
в class UIComponent
protected Renderer getRenderer(FacesContext context)
UIComponent
Метод удобства, чтобы возвратиться Renderer
экземпляр, связанный с этим компонентом, если любой; иначе, возвратиться null
.
getRenderer
в class UIComponent
context
- FacesContext
для текущего запросаpublic void markInitialState()
Для каждого из присоединенных объектов на этом экземпляре та реализация PartialStateHolder
, вызвать PartialStateHolder#markInitialState
на присоединенном объекте.
markInitialState
в интерфейсе PartialStateHolder
markInitialState
в class UIComponent
public void clearInitialState()
Для каждого из присоединенных объектов на этом экземпляре та реализация PartialStateHolder
, вызвать PartialStateHolder#clearInitialState
на присоединенном объекте.
clearInitialState
в интерфейсе PartialStateHolder
clearInitialState
в class UIComponent
public java.lang.Object saveState(FacesContext context)
StateHolder
Получает состояние экземпляра как a Serializable
Объект.
Если у class, который реализует этот интерфейс, есть ссылки на экземпляры, которые реализуют StateHolder (такой как a UIComponent
с обработчиками событий, блоками проверки допустимости, и т.д.), этот метод должен вызвать StateHolder.saveState(javax.faces.context.FacesContext)
метод на всех тех экземплярах также. Этот метод не должен сохранить состояние дочерних элементов и фасетов. Это делается через StateManager
Этот метод не должен изменить состояние объекта реализации. Другими словами, после выполнения этого кода:
Object state = component.saveState(facesContext);
component
должно быть то же самое как прежде, чем выполнить это.
Возврат из этого метода должен быть Serializable
public void restoreState(FacesContext context, java.lang.Object state)
StateHolder
Выполните любую обработку, требуемую восстановить состояние от записей в Объекте состояния.
Если у class, который реализует этот интерфейс, есть ссылки на экземпляры, которые также реализуют StateHolder (такой как a UIComponent
с обработчиками событий, блоками проверки допустимости, и т.д.), этот метод должен вызвать StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object)
метод на всех тех экземплярах также.
Если state
параметр null
, не предпримите меры и возврат.
public boolean isTransient()
StateHolder
Если это правда, Объект, реализовывая этот интерфейс не должен участвовать в сохранении состояния или восстановлении.
public void setTransient(boolean transientFlag)
StateHolder
Обозначает, должен ли Объект, реализовывая этот интерфейс или не должен участвовать в сохранении состояния или восстановлении.
transientFlag
- булева передача true
если этот Объект не будет участвовать в сохранении состояния или восстановлении, иначе передайте false
.public static java.lang.Object saveAttachedState(FacesContext context, java.lang.Object attachedObject)
Этим методом вызывают UIComponent
подклассы, которые хотят сохранить один или более присоединенные объекты. Это - метод удобства, который делает работу сохранения присоединенных объектов, которые могут или, возможно, не реализуют StateHolder
интерфейс. Используя этот метод подразумевает использование restoreAttachedState(javax.faces.context.FacesContext, java.lang.Object)
восстановить присоединенные объекты.
Этот метод поддерживает сохранение присоединенные объекты следующего типа: Object
s, null
значения, и Collection
s этих объектов. Если какие-либо содержавшие объекты не Collection
s и не реализуют StateHolder
, у них должны быть конструкторы общественности нулевого параметра. Точная структура возвращенного объекта неопределена и непрозрачна, но будет сериализуема.
context
- FacesContext
для этого запроса.attachedObject
- объект, который может быть a List
экземпляр, или Объект. attachedObject
(или элементы, которые включают attachedObject
может реализовать StateHolder
. java.lang.NullPointerException
- если параметром контекста является нуль.public static java.lang.Object restoreAttachedState(FacesContext context, java.lang.Object stateObj) throws java.lang.IllegalStateException
Этим методом вызывают UIComponent
подклассы, которые должны восстановить объекты, они сохранили использование saveAttachedState(javax.faces.context.FacesContext, java.lang.Object)
. Этот метод сильно связан с saveAttachedState(javax.faces.context.FacesContext, java.lang.Object)
.
Этот метод поддерживает восстановление всех присоединенных типов объектов, поддерживаемых saveAttachedState(javax.faces.context.FacesContext, java.lang.Object)
.
context
- FacesContext
для этого запросаstateObj
- непрозрачный объект, возвращенный из saveAttachedState(javax.faces.context.FacesContext, java.lang.Object)
java.lang.NullPointerException
- если контекст является нулем. IllegalStateException
- если объект ранее не возвращается saveAttachedState(javax.faces.context.FacesContext, java.lang.Object)
.public void addClientBehavior(java.lang.String eventName, ClientBehavior behavior)
Это - реализация по умолчанию ClientBehaviorHolder.addClientBehavior(java.lang.String, javax.faces.component.behavior.ClientBehavior)
. UIComponent
не реализует ClientBehaviorHolder
интерфейс, но обеспечивает реализации по умолчанию для методов, определенных ClientBehaviorHolder
упростить реализации подкласса. Подклассы, которые хотят поддерживать ClientBehaviorHolder
контракт должен объявить, что подкласс реализует ClientBehaviorHolder
, и должен обеспечить реализацию ClientBehaviorHolder.getEventNames()
.
eventName
- логическое имя клиентского события, чтобы присоединить поведение к.behavior
- Behavior
экземпляр, чтобы присоединить для указанного имени события.public java.util.Collection<java.lang.String> getEventNames()
Это - реализация по умолчанию ClientBehaviorHolder.getEventNames()
. UIComponent
не реализует ClientBehaviorHolder
интерфейс, но обеспечивает реализации по умолчанию для методов, определенных ClientBehaviorHolder
упростить реализации подкласса. Подклассы, которые хотят поддерживать ClientBehaviorHolder
контракт должен объявить, что подкласс реализует ClientBehaviorHolder
, и должен переопределить этот метод, чтобы возвратить непустое Collection
из клиентских имен события, которые поддерживает компонент.
public java.util.Map<java.lang.String,java.util.List<ClientBehavior>> getClientBehaviors()
Это - реализация по умолчанию ClientBehaviorHolder.getClientBehaviors()
. UIComponent
не реализует ClientBehaviorHolder
интерфейс, но обеспечивает реализации по умолчанию для методов, определенных ClientBehaviorHolder
упростить реализации подкласса. Подклассы, которые хотят поддерживать ClientBehaviorHolder
контракт должен объявить, что подкласс реализует ClientBehaviorHolder
, и должен добавить реализацию ClientBehaviorHolder.getEventNames()
.
public java.lang.String getDefaultEventName()
Это - реализация по умолчанию ClientBehaviorHolder.getDefaultEventName()
. UIComponent
не реализует ClientBehaviorHolder
интерфейс, но обеспечивает реализации по умолчанию для методов, определенных ClientBehaviorHolder
упростить реализации подкласса. Подклассы, которые хотят поддерживать ClientBehaviorHolder
контракт должен объявить, что подкласс реализует ClientBehaviorHolder
, и должен обеспечить реализацию ClientBehaviorHolder.getEventNames()
.
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41