Spec-Zone .ru
спецификации, руководства, описания, API
|
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЕЙМЫ НИКАКИЕ ФРЕЙМЫ | ||||||||
СВОДКА: ВЛОЖЕННЫЙ | ПОЛЕ | CONSTR | МЕТОД | ДЕТАЛЬ: ПОЛЕ | CONSTR | МЕТОД |
java.lang.Object javax.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
, есть обычно многократные преобразователи, которые рассматривают для любой данной переменной или разрешения свойства. ELResolver
s объединяются, вместе используя CompositeELResolver
s, чтобы определить богатую семантику для того, чтобы оценить выражение.
Для 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
возвращенный мог бы выполнить итерации через очень большой или даже бесконечно большой набор свойств. Забота должна быть проявлена вызывающей стороной, чтобы не застрять в бесконечном цикле.
Это - список "максимальных усилий". Не все ELResolver
s возвратит абсолютно точные результаты, но все должны быть вызываемыми и во время проектирования и во время выполнения (то есть действительно ли Beans.isDesignTime()
возвраты true
), не вызывая ошибки.
propertyResolved
свойство ELContext
не относится к этому методу. Результаты всех ELResolver
s связываются в случае составных преобразователей.
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