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


javax.el
Класс BeanELResolver

java.lang.Object
  расширенный javax.el.ELResolver
      расширенный javax.el.BeanELResolver

public class BeanELResolver
расширяет ELResolver

Определяет поведение разрешения свойства на объектах, используя компонентную архитектуру JavaBeans.

Этот преобразователь обрабатывает базовые объекты любого типа, пока основа не null. Это принимает любой объект как свойство или метод, и принуждает это к строке.

Для разрешения свойства строка свойства используется, чтобы найти JavaBeans совместимое свойство на базовом объекте. К значению получают доступ, используя методов get JavaBeans и методы set.

Для разрешения метода строка метода является именем метода в бобе. Типы параметра могут быть дополнительно определены, чтобы идентифицировать метод. Если типы параметра не определяются, объекты параметра используются в разрешении метода.

Этот преобразователь может быть создан в режиме только для чтения, что означает это isReadOnly будет всегда возвращаться true и setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) будет всегда бросать PropertyNotWritableException.

ELResolvers объединяются, вместе используя CompositeELResolvers, чтобы определить богатую семантику для того, чтобы оценить выражение. См. javadocs для ELResolver для деталей.

Поскольку этот преобразователь обрабатывает базовые объекты любого типа, он должен быть помещен около конца составного преобразователя. Иначе, это будет утверждать, что разрешило свойство перед любыми преобразователями, которые прибывают после этого, получают шанс протестировать, если они могут сделать так также.

С тех пор:
JSP 2.1
См. Также:
CompositeELResolver, ELResolver

Вложенная Сводка Класса
protected static class BeanELResolver. BeanProperties
           
protected static class BeanELResolver. BeanProperty
           
 
Полевая Сводка
 
Поля, наследованные от class javax.el. ELResolver
RESOLVABLE_AT_DESIGN_TIME, TYPE
 
Сводка конструктора
BeanELResolver()
          Создает новое чтение-запись BeanELResolver.
BeanELResolver(boolean isReadOnly)
          Создает новое BeanELResolver чье состояние только для чтения определяется данным параметром.
 
Сводка метода
 java.lang.Class<?> getCommonPropertyType(ELContext context, java.lang.Object base)
          Если базовый объект не null, возвращает самый общий тип, который этот преобразователь принимает для property параметр.
 java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context, java.lang.Object base)
          Если базовый объект не null, возвраты Iterator содержа набор свойств JavaBeans, доступных на данном объекте.
 java.lang.Class<?> getType(ELContext context, java.lang.Object base, java.lang.Object property)
          Если базовый объект не null, возвращает самый общий приемлемый тип, который может быть установлен на этом бобовом свойстве.
 java.lang.Object getValue(ELContext context, java.lang.Object base, java.lang.Object property)
          Если базовый объект не null, возвращает текущую стоимость данного свойства на этом бобе.
 java.lang.Object invoke(ELContext context, java.lang.Object base, java.lang.Object method, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
          Если базовый объект не null, вызовите метод с данными параметрами на этом бобе.
 boolean isReadOnly(ELContext context, java.lang.Object base, java.lang.Object property)
          Если базовый объект не null, возвраты, ли звонок setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) всегда перестанет работать.
 void setValue(ELContext context, java.lang.Object base, java.lang.Object property, java.lang.Object val)
          Если базовый объект не null, попытки установить значение данного свойства на этом бобе.
 
Методы, наследованные от class java.lang. Объект
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Деталь конструктора

BeanELResolver

public BeanELResolver()
Создает новое чтение-запись BeanELResolver.


BeanELResolver

public BeanELResolver(boolean isReadOnly)
Создает новое BeanELResolver чье состояние только для чтения определяется данным параметром.

Параметры:
isReadOnly - true если этот преобразователь не может изменить бобы; false иначе.
Деталь метода

getType

public java.lang.Class<?> getType(ELContext context,
                                  java.lang.Object base,
                                  java.lang.Object property)
Если базовый объект не null, возвращает самый общий приемлемый тип, который может быть установлен на этом бобовом свойстве.

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

Обеспеченное свойство будет сначала принуждено к a String. Если есть a BeanInfoProperty для этого свойства и не было никаких ошибок, получая это, propertyType из propertyDescriptor возвращается. Иначе, a PropertyNotFoundException бросается.

Определенный:
getType в class ELResolver
Параметры:
context - Контекст этой оценки.
base - Боб, чтобы проанализировать.
property - Имя свойства, чтобы проанализировать. Будет принужден к a String.
Возвраты:
Если propertyResolved свойство ELContext был установлен в true, тогда самый общий приемлемый тип; иначе неопределенный.
Броски:
java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если base не null и указанное свойство не существует или не читаемо.
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

getValue

public java.lang.Object getValue(ELContext context,
                                 java.lang.Object base,
                                 java.lang.Object property)
Если базовый объект не null, возвращает текущую стоимость данного свойства на этом бобе.

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

Обеспеченное имя свойства будет сначала принуждено к a String. Если свойство является читаемым свойством базового объекта согласно спецификации JavaBeans, то возвратите результат вызова метода get. Если метод get выдает исключение, оно распространяется к вызывающей стороне. Если свойство не находится или не читаемо, a PropertyNotFoundException бросается.

Определенный:
getValue в class ELResolver
Параметры:
context - Контекст этой оценки.
base - Боб, на котором можно получить свойство.
property - Имя свойства, чтобы добраться. Будет принужден к a String.
Возвраты:
Если propertyResolved свойство ELContext был установлен в true, тогда значение данного свойства. Иначе, неопределенный.
Броски:
java.lang.NullPointerException - если контекст null.
PropertyNotFoundException - если base не null и указанное свойство не существует или не читаемо.
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

setValue

public void setValue(ELContext context,
                     java.lang.Object base,
                     java.lang.Object property,
                     java.lang.Object val)
Если базовый объект не null, попытки установить значение данного свойства на этом бобе.

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

Если этот преобразователь был создан в режиме только для чтения, этот метод будет всегда бросать PropertyNotWritableException.

Обеспеченное имя свойства будет сначала принуждено к a String. Если свойство является перезаписываемым свойством base (согласно Спецификации JavaBeans), метод метода set вызывают (передача value). Если свойство существует, но не имеет метода set, то a PropertyNotFoundException бросается. Если свойство не существует, a PropertyNotFoundException бросается.

Определенный:
setValue в class ELResolver
Параметры:
context - Контекст этой оценки.
base - Боб, на котором можно установить свойство.
property - Имя свойства, чтобы установить. Будет принужден к a String.
val - Значение, которое будет связано с указанным ключом.
Броски:
java.lang.NullPointerException - если контекст null.
PropertyNotFoundException - если base не null и указанное свойство не существует.
PropertyNotWritableException - если этот преобразователь был создан в режиме только для чтения, или если нет никакого метода set для свойства.
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

вызвать

public java.lang.Object invoke(ELContext context,
                               java.lang.Object base,
                               java.lang.Object method,
                               java.lang.Class<?>[] paramTypes,
                               java.lang.Object[] params)
Если базовый объект не null, вызовите метод с данными параметрами на этом бобе. Возвращаемое значение от метода возвращается.

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

Обеспеченный объект метода будет сначала принужден к a String. Методы в бобе тогда исследуются, и попытка будет предпринята, чтобы выбрать один для вызова. Если не подходящий может быть найден, a MethodNotFoundException бросается. Если данный paramTypes не null, выберите метод с типами параметра и именем. Еще выберите метод с именем, у которого есть то же самое число параметров. Если есть больше чем один такой метод, процесс выбора метода неопределен. Еще выберите метод с именем, которое берет переменное число параметров. Отметьте, что разрешение для перегруженных методов будет, вероятно, разъяснено в будущей версии спецификации. Обеспечить параметры принуждаются к correcponding типам параметра метода, и метод тогда вызывается.

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

isReadOnly

public boolean isReadOnly(ELContext context,
                          java.lang.Object base,
                          java.lang.Object property)
Если базовый объект не null, возвраты, ли звонок setValue(javax.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) всегда перестанет работать.

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

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

Обеспеченное имя свойства будет сначала принуждено к a String. Если свойство является перезаписываемым свойством base, false возвращается. Если свойство находится, но не перезаписываемо, true возвращается. Если свойство не находится, a PropertyNotFoundException бросается.

Определенный:
isReadOnly в class ELResolver
Параметры:
context - Контекст этой оценки.
base - Боб, чтобы проанализировать.
property - Имя свойства к проанализированному. Будет принужден к a String.
Возвраты:
Если propertyResolved свойство ELContext был установлен в true, тогда true вызывая setValue метод всегда перестанет работать или false если возможно, что такой вызов может успешно выполниться; иначе неопределенный.
Броски:
java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если base не null и указанное свойство не существует.
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

getFeatureDescriptors

public java.util.Iterator<java.beans.FeatureDescriptor> getFeatureDescriptors(ELContext context,
                                                                              java.lang.Object base)
Если базовый объект не null, возвраты Iterator содержа набор свойств JavaBeans, доступных на данном объекте. Иначе, возвраты null.

Iterator возвращенный должен содержать нуль или больше экземпляров FeatureDescriptor. Каждый объект информации содержит информацию о свойстве в бобе, как получено, вызывая BeanInfo.getPropertyDescriptors метод. FeatureDescriptor инициализируется, используя те же самые поля, как присутствуют в PropertyDescriptor, с дополнительными необходимыми именованными атрибутами"type"и"resolvableAtDesignTime"набор следующим образом:

  • ELResolver#TYPE - Тип времени выполнения свойства, от PropertyDescriptor.getPropertyType().
  • ELResolver#RESOLVABLE_AT_DESIGN_TIME - true.
  • Определенный:
    getFeatureDescriptors в class ELResolver
    Параметры:
    context - Контекст этой оценки.
    base - Боб, чтобы проанализировать.
    Возвраты:
    Iterator содержа нуль или больше FeatureDescriptor объекты, каждый представляющий свойство на этом бобе, или null если base объект null.
    См. Также:
    FeatureDescriptor

    getCommonPropertyType

    public java.lang.Class<?> getCommonPropertyType(ELContext context,
                                                    java.lang.Object base)
    Если базовый объект не null, возвращает самый общий тип, который этот преобразователь принимает для property параметр. Иначе, возвраты null.

    Принятие основы не null, этот метод будет всегда возвращаться Object.class. Это - то, потому что любой объект принимается как ключ и принуждается в строку.

    Определенный:
    getCommonPropertyType в class ELResolver
    Параметры:
    context - Контекст этой оценки.
    base - Боб, чтобы проанализировать.
    Возвраты:
    null если основа null; иначе Object.class.


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

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

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

    free hit counter