|
Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
java.lang.Objectjavax.el.ELResolver
public abstract class ELResolver
Включает настройке переменной, свойства и поведения разрешения вызова метода для ЭЛЬ вычисления выражения.
Оценивая выражение, ELResolver связанный с ELContext консультируется, чтобы сделать начальное разрешение первой переменной выражения. С этим также консультируются когда a . или [] с оператором встречаются.
Например, в ЭЛЬ выражении ${employee.lastName}, ELResolver определяет что объект employee обращается к, и что это означает получать lastName свойство на том объекте.
Большинство методов в этом class принимает a base и property параметр. В случае переменного разрешения (например, определение, что employee обращается к в ${employee.lastName}), base параметр будет null и property параметр будет всегда иметь тип String. В этом случае, если property не a String, поведение ELResolver неопределено.
В случае разрешения свойства, base параметр идентифицирует базовый объект и property объект идентифицирует свойство на той основе. Например, в выражении ${employee.lastName}, base результат переменного разрешения для employee и property строка "lastName". В выражении ${y[x]}, base результат переменного разрешения для y и property результат переменного разрешения для x.
В случае разрешения вызова метода, base параметр indentifies базовый объект и method параметр идентифицирует метод на той основе. В случае перегруженных методов, paramTypes параметр может дополнительно использоваться, чтобы идентифицировать метод. paramsпараметр является параметрами для вызова метода, и может также использоваться для того, чтобы разрешить перегруженные методы когда paramTypes параметр не определяется.
Хотя только сингл ELResolver связывается с ELContext, есть обычно многократные преобразователи, которые рассматривают для любой данной переменной или разрешения свойства. ELResolvers объединяются, вместе используя CompositeELResolvers, чтобы определить богатую семантику для того, чтобы оценить выражение.
Для getValue(javax.el.ELContext, java.lang.Object, java.lang.Object), getType(javax.el.ELContext, java.lang.Object, java.lang.Object), setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) и isReadOnly(javax.el.ELContext, java.lang.Object, java.lang.Object) методы, ELResolver не ответственно за разрешение всех возможных (основа, свойство) пары. Фактически, большинство преобразователей только обработает a base из единственного типа. Чтобы указать, что преобразователь успешно разрешил деталь (основа, свойство) пара, это должно установить propertyResolved свойство ELContext к true. Если это не могло бы обработать данную пару, это должно оставить это свойство в покое. Вызывающая сторона должна проигнорировать возвращаемое значение метода если propertyResolved false.
getFeatureDescriptors(javax.el.ELContext, java.lang.Object) и getCommonPropertyType(javax.el.ELContext, java.lang.Object) методы прежде всего разрабатываются для поддержки инструмента времени проектирования, но должны обработать вызов во времени выполнения также. Beans.isDesignTime() метод может использоваться, чтобы определить, консультируются ли с преобразователем во время проектирования или время выполнения.
CompositeELResolver, ELContext#getELResolver| Полевая Сводка | |
|---|---|
static java.lang.String |
RESOLVABLE_AT_DESIGN_TIME
Название атрибута именованного атрибута в FeatureDescriptor это определяет, могут ли переменная или свойство быть разрешены во времени выполнения. |
static java.lang.String |
ВВЕСТИ
Название атрибута именованного атрибута в FeatureDescriptor это определяет тип времени выполнения переменной или свойства. |
| Сводка конструктора | |
|---|---|
ELResolver()
|
|
| Сводка метода | |
|---|---|
abstract java.lang.Class<?> |
getCommonPropertyType(ELContext context, java.lang.Object base)
Возвращает самый общий тип, который этот преобразователь принимает для property параметр, данный a base объект. |
abstract java.util.Iterator<java.beans.FeatureDescriptor> |
getFeatureDescriptors(ELContext context, java.lang.Object base)
Информация о возвратах о наборе переменных или свойств, которые могут быть разрешены для данного base объект. |
abstract java.lang.Class<?> |
getType(ELContext context, java.lang.Object base, java.lang.Object property)
Для данного base и property, попытки идентифицировать самый общий тип, который является приемлемым для объекта, который передадут как value параметр в будущем призывает setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) метод. |
abstract java.lang.Object |
getValue(ELContext context, java.lang.Object base, java.lang.Object property)
Попытки разрешить данный property объект на данном base объект. |
java.lang.Object |
invoke(ELContext context, java.lang.Object base, java.lang.Object method, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
Attemps, чтобы решить и вызвать данный method на данном base объект. |
abstract boolean |
isReadOnly(ELContext context, java.lang.Object base, java.lang.Object property)
Для данного base и property, попытки определить, ли звонок setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) всегда перестанет работать. |
abstract void |
setValue(ELContext context, java.lang.Object base, java.lang.Object property, java.lang.Object value)
Попытки установить значение данного property объект на данном base объект. |
| Методы, наследованные от class java.lang. Объект |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Полевая Деталь |
|---|
public static final java.lang.String TYPE
Название атрибута именованного атрибута в FeatureDescriptor это определяет тип времени выполнения переменной или свойства.
public static final java.lang.String RESOLVABLE_AT_DESIGN_TIME
Название атрибута именованного атрибута в FeatureDescriptor это определяет, могут ли переменная или свойство быть разрешены во времени выполнения.
| Деталь конструктора |
|---|
public ELResolver()
| Деталь метода |
|---|
public abstract java.lang.Object getValue(ELContext context,
java.lang.Object base,
java.lang.Object property)
property объект на данном base объект. Если этот преобразователь обрабатывает данный (основа, свойство) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона должна проигнорировать возвращаемое значение.
context - Контекст этой оценки.base - Базовый объект, значение свойства которого должно быть возвращено, или null разрешить высокоуровневую переменную.property - Свойство или переменная, которая будет разрешена. propertyResolved свойство ELContext был установлен в true, тогда результат переменной или разрешения свойства; иначе неопределенный. java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если данный (основа, свойство) пара обрабатывается этим ELResolver но указанная переменная или свойство не существуют или не читаемы. ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.
public java.lang.Object invoke(ELContext context,
java.lang.Object base,
java.lang.Object method,
java.lang.Class<?>[] paramTypes,
java.lang.Object[] params)
method на данном base объект. Если этот преобразователь обрабатывает данный (основа, метод) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона должна проигнорировать возвращаемое значение.
Реализация по умолчанию - то, при условии, что нуль возвратов так, чтобы существующие классы, которые расширяют ELResolver, могли продолжать функционировать.
context - Контекст этой оценки.base - Боб, на который можно вызвать методmethod - Простое имя метода, чтобы вызвать. Будет принужден к a String.paramTypes - Массив объектов Класса, идентифицирующих типы формального параметра метода, в объявленном порядке. Используйте пустой массив, если у метода нет никаких параметров. Может быть null, когда типы формального параметра метода, как предполагается, неизвестны.params - Параметры, чтобы передать к методу, или null если никакие параметры. null если у метода есть a void возвратите тип). MethodNotFoundException - если никакой подходящий метод не может быть найден. ELException - если исключение было выдано, выполняя (основа, метод) разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии. Если выданное исключение InvocationTargetException, извлеките cause и передайте это к ELException конструктор.
public abstract java.lang.Class<?> getType(ELContext context,
java.lang.Object base,
java.lang.Object property)
base и property, попытки идентифицировать самый общий тип, который является приемлемым для объекта, который передадут как value параметр в будущем призывает setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) метод. Если этот преобразователь обрабатывает данный (основа, свойство) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона должна проигнорировать возвращаемое значение.
Это - не всегда то же самое как getValue().getClass(). Например, в случае ArrayELResolver, getType метод возвратит тип элемента массива, который мог бы быть суперклассом типа фактического элемента, который находится в настоящий момент в указанном элементе массива.
context - Контекст этой оценки.base - Базовый объект, значение свойства которого должно быть проанализировано, или null проанализировать высокоуровневую переменную.property - Свойство или переменная, чтобы возвратить приемлемый тип для. propertyResolved свойство ELContext был установлен в true, тогда самый общий приемлемый тип; иначе неопределенный. java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если данный (основа, свойство) пара обрабатывается этим ELResolver но указанная переменная или свойство не существуют или не читаемы. ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.
public abstract void setValue(ELContext context,
java.lang.Object base,
java.lang.Object property,
java.lang.Object value)
property объект на данном base объект. Если этот преобразователь обрабатывает данный (основа, свойство) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона может безопасно предположить, что никакое значение не было установлено.
context - Контекст этой оценки.base - Базовый объект, значение свойства которого должно быть установлено, или null установить высокоуровневую переменную.property - Свойство или переменная, которая будет установлена.value - Значение, чтобы установить свойство или переменную к. java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если данный (основа, свойство) пара обрабатывается этим ELResolver но указанная переменная или свойство не существуют. PropertyNotWritableException - если данный (основа, свойство) пара обрабатывается этим ELResolver но указанная переменная или свойство не перезаписываемы. ELException - если исключение было выдано, пытаясь установить свойство или переменную. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.
public abstract boolean isReadOnly(ELContext context,
java.lang.Object base,
java.lang.Object property)
base и property, попытки определить, ли звонок setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) всегда перестанет работать. Если этот преобразователь обрабатывает данный (основа, свойство) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона должна проигнорировать возвращаемое значение.
context - Контекст этой оценки.base - Базовый объект, значение свойства которого должно быть проанализировано, или null проанализировать высокоуровневую переменную.property - Свойство или переменная, чтобы возвратить состояние только для чтения для. propertyResolved свойство ELContext был установлен в true, тогда true если свойство только для чтения или false если нет; иначе неопределенный. java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если данный (основа, свойство) пара обрабатывается этим ELResolver но указанная переменная или свойство не существуют. ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.
public abstract java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context,
java.lang.Object base)
base объект. Одно использование для этого метода должно помочь инструментам в автозавершении. Если base параметр null, преобразователь должен перечислить список высокоуровневых переменных, которые это может разрешить.
Iterator возвращенный должен содержать нуль или больше экземпляров FeatureDescriptor, ни в каком гарантируемом порядке. В случае типов примитивов такой как int, значение null должен быть возвращен. Это должно предотвратить бесполезную итерацию через все возможные примитивные значения. Возвращаемое значение null указывает, что этот преобразователь не обрабатывает данный base возразите или что результаты слишком сложны, чтобы представить с этим методом и getCommonPropertyType(javax.el.ELContext, java.lang.Object) метод должен использоваться вместо этого.
Каждый FeatureDescriptor будет содержать информацию о единственной переменной или свойстве. В дополнение к стандартным свойствам, FeatureDescriptor должен иметь два именованных атрибута (как установлено setValue метод):
TYPE - Значение этого именованного атрибута должно быть экземпляром java.lang.Class и определите тип времени выполнения переменной или свойства.RESOLVABLE_AT_DESIGN_TIME - Значение этого именованного атрибута должно быть экземпляром java.lang.Boolean и указывает, безопасно ли попытаться разрешить это свойство во время проектирования. Например, может быть опасно делать попытку разрешения во время проектирования если ELResolver доступ потребностей к ресурсу, который только доступен во времени выполнения и никаком приемлемом моделируемом значении, может быть обеспечен.Вызывающая сторона должна знать что Iterator возвращенный мог бы выполнить итерации через очень большой или даже бесконечно большой набор свойств. Забота должна быть проявлена вызывающей стороной, чтобы не застрять в бесконечном цикле.
Это - список "максимальных усилий". Не все ELResolvers возвратит абсолютно точные результаты, но все должны быть вызываемыми и во время проектирования и во время выполнения (то есть действительно ли Beans.isDesignTime() возвраты true), не вызывая ошибки.
propertyResolved свойство ELContext не относится к этому методу. Результаты всех ELResolvers связываются в случае составных преобразователей.
context - Контекст этой оценки.base - Базовый объект, набор которого допустимых свойств должен быть перечислен, или null перечислить набор высокоуровневых переменных, которые может оценить этот преобразователь. Iterator содержа нуль или больше (возможно бесконечно больше) FeatureDescriptor объекты, или null если этот преобразователь не обрабатывает данный base возразите или что результаты слишком сложны, чтобы представить с этим методомFeatureDescriptor
public abstract java.lang.Class<?> getCommonPropertyType(ELContext context,
java.lang.Object base)
property параметр, данный a base объект. Одно использование для этого метода должно помочь инструментам в автозавершении. Это помогает инструментам в автозавершении и также обеспечивает способ выразить, что преобразователь признает, что примитивное значение, такое как целое число индексируют в массив. Например, ArrayELResolver примет любого int как a property, таким образом, возвращаемое значение было бы Integer.class.
context - Контекст этой оценки.base - Базовый объект возвратить самый общий тип свойства для, или null перечислить набор высокоуровневых переменных, которые может оценить этот преобразователь. null если это ELResolver не знает, как обработать данный base объект; иначе Object.class если любой тип property принимается; иначе самое общее property введите принятый для данного base.
|
|||||||||
| ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
| СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД | ||||||||
Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается
Сгенерированный на 10-February-2011 12:41