Spec-Zone .ru
спецификации, руководства, описания, API


javax.el
Класс ELResolver

java.lang.Object
  расширенный javax.el.ELResolver
Прямые Известные Подклассы:
ArrayELResolver, BeanELResolver, CompositeELResolver, ImplicitObjectELResolver, ListELResolver, MapELResolver, ResourceBundleELResolver, ScopedAttributeELResolver

public abstract class ELResolver
расширяет java.lang. Объект

Включает настройке переменной, свойства и поведения разрешения вызова метода для ЭЛЬ вычисления выражения.

Оценивая выражение, 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() метод может использоваться, чтобы определить, консультируются ли с преобразователем во время проектирования или время выполнения.

С тех пор:
JSP 2.1
См. Также:
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 это определяет тип времени выполнения переменной или свойства.

См. Также:
Постоянные Значения полей

RESOLVABLE_AT_DESIGN_TIME

public static final java.lang.String RESOLVABLE_AT_DESIGN_TIME

Название атрибута именованного атрибута в FeatureDescriptor это определяет, могут ли переменная или свойство быть разрешены во времени выполнения.

См. Также:
Постоянные Значения полей
Деталь конструктора

ELResolver

public ELResolver()
Деталь метода

getValue

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)
Attemps, чтобы решить и вызвать данный method на данном base объект.

Если этот преобразователь обрабатывает данный (основа, метод) пара, propertyResolved свойство ELContext объект должен быть установлен в true преобразователем, перед возвратом. Если это свойство не true после того, как этот метод вызывают, вызывающая сторона должна проигнорировать возвращаемое значение.

Реализация по умолчанию - то, при условии, что нуль возвратов так, чтобы существующие классы, которые расширяют ELResolver, могли продолжать функционировать.

Параметры:
context - Контекст этой оценки.
base - Боб, на который можно вызвать метод
method - Простое имя метода, чтобы вызвать. Будет принужден к a String.
paramTypes - Массив объектов Класса, идентифицирующих типы формального параметра метода, в объявленном порядке. Используйте пустой массив, если у метода нет никаких параметров. Может быть null, когда типы формального параметра метода, как предполагается, неизвестны.
params - Параметры, чтобы передать к методу, или null если никакие параметры.
Возвраты:
Результат вызова метода (null если у метода есть a void возвратите тип).
Броски:
MethodNotFoundException - если никакой подходящий метод не может быть найден.
ELException - если исключение было выдано, выполняя (основа, метод) разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии. Если выданное исключение InvocationTargetException, извлеките cause и передайте это к ELException конструктор.
С тех пор:
ЭЛЬ 2.2

getType

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 - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

setValue

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 - если исключение было выдано, пытаясь установить свойство или переменную. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

isReadOnly

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 - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

getFeatureDescriptors

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 метод):

Вызывающая сторона должна знать что Iterator возвращенный мог бы выполнить итерации через очень большой или даже бесконечно большой набор свойств. Забота должна быть проявлена вызывающей стороной, чтобы не застрять в бесконечном цикле.

Это - список "максимальных усилий". Не все ELResolvers возвратит абсолютно точные результаты, но все должны быть вызываемыми и во время проектирования и во время выполнения (то есть действительно ли Beans.isDesignTime() возвраты true), не вызывая ошибки.

propertyResolved свойство ELContext не относится к этому методу. Результаты всех ELResolvers связываются в случае составных преобразователей.

Параметры:
context - Контекст этой оценки.
base - Базовый объект, набор которого допустимых свойств должен быть перечислен, или null перечислить набор высокоуровневых переменных, которые может оценить этот преобразователь.
Возвраты:
Iterator содержа нуль или больше (возможно бесконечно больше) FeatureDescriptor объекты, или null если этот преобразователь не обрабатывает данный base возразите или что результаты слишком сложны, чтобы представить с этим методом
См. Также:
FeatureDescriptor

getCommonPropertyType

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.


Представьте ошибку или функцию

Авторское право © 2009-2011, Oracle Corporation и/или его филиалы. Все права защищены. Использование подвергается срокам действия лицензии.

Сгенерированный на 10-February-2011 12:41

free hit counter