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


javax.el
Класс MethodExpression

java.lang.Object
  расширенный javax.el.Expression
      расширенный javax.el.MethodExpression
Все Реализованные Интерфейсы:
java.io. Сериализуемый

public abstract class MethodExpression
расширяет Выражение

Expression это обращается к методу на объекте.

ExpressionFactory#createMethodExpression метод может использоваться, чтобы проанализировать строку выражения и возвратить конкретный экземпляр MethodExpression это инкапсулирует проанализированное выражение. FunctionMapper используется во время синтаксического анализа, не время оценки, таким образом, каждый не необходим, чтобы оценить выражение, используя этот class. Однако, ELContext необходим во время оценки.

getMethodInfo(javax.el.ELContext) и invoke(javax.el.ELContext, java.lang.Object[]) методы оценят выражение каждый раз, когда их вызывают. ELResolver в ELContext используется, чтобы разрешить высокоуровневые переменные и определить поведение . и [] операторы. Для любого из этих двух методов, ELResolver#getValue метод используется, чтобы разрешить все свойства до, но, исключая последний. Это обеспечивает base объект, на котором появляется метод. Если base объект является нулем, a PropertyNotFoundException должен быть брошен. В последнем разрешении, финале property тогда принуждается к a String, который обеспечивает имя метода, который будет найден. Метод, соответствующий имя и ожидаемые параметры, обеспеченные во время синтаксического анализа, находится, и это или запрашивается или вызывается (в зависимости от метода, к которому обращаются это MethodExpression).

См. примечания о сравнении, сериализации и неизменности в Expression javadocs.

С тех пор:
JSP 2.1
См. Также:
ELResolver, Expression, ExpressionFactory, Сериализированная Форма

Сводка конструктора
MethodExpression()
           
 
Сводка метода
abstract  MethodInfo getMethodInfo(ELContext context)
          Оценивает выражение относительно обеспеченного контекста, и возвращает информацию о фактическом методе, на который ссылаются.
abstract  java.lang.Object invoke(ELContext context, java.lang.Object[] params)
          Если Строковый литерал определяется как выражение, возвращает Строковый литерал, принужденный типу ожидаемого дохода сигнатуры метода.
 boolean isParmetersProvided()
          Возвратитесь, создавался ли этот MethodExpression с параметрами.
 
Методы, наследованные от class javax.el. Выражение
equals, getExpressionString, hashCode, isLiteralText
 
Методы, наследованные от class java.lang. Объект
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

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

MethodExpression

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

getMethodInfo

public abstract MethodInfo getMethodInfo(ELContext context)
Оценивает выражение относительно обеспеченного контекста, и возвращает информацию о фактическом методе, на который ссылаются.

Параметры:
context - Контекст этой оценки
Возвраты:
экземпляр MethodInfo содержа информацию о методе выражение, оцененное к.
Броски:
java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если одно из разрешений свойства перестало работать, потому что указанная переменная или свойство не существуют или не читаемы.
MethodNotFoundException - если никакой подходящий метод не может быть найден.
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии.

вызвать

public abstract java.lang.Object invoke(ELContext context,
                                        java.lang.Object[] params)
Если Строковый литерал определяется как выражение, возвращает Строковый литерал, принужденный типу ожидаемого дохода сигнатуры метода. ELException бросается если expectedReturnType является пустым или если приведение Строкового литерала к expectedReturnType приводит к ошибке (см. Раздел "1.18 Преобразования типов" ЭЛЬ спецификации). Если не Строковый литерал, оценивает выражение относительно обеспеченного контекста, вызывает метод, который был найден, используя предоставленные параметры, и возвращает результат вызова метода. Любые параметры, которые передают к этому методу, игнорируются, если isLiteralText () или isParametersProvided () является истиной.

Параметры:
context - Контекст этой оценки.
params - Параметры, чтобы передать к методу, или null если никакие параметры.
Возвраты:
результат вызова метода (null если у метода есть a void возвратите тип).
Броски:
java.lang.NullPointerException - если контекст null
PropertyNotFoundException - если одно из разрешений свойства перестало работать, потому что указанная переменная или свойство не существуют или не читаемы.
MethodNotFoundException - если никакой подходящий метод не может быть найден.
ELException - если Строковый литерал определяется, и expectedReturnType MethodExpression пустой или если приведение Строкового литерала к expectedReturnType приводит к ошибке (см. Раздел "1.18 Преобразования типов").
ELException - если исключение было выдано, выполняя свойство или переменное разрешение. Выданное исключение должно быть включено как свойство причины этого исключения при наличии. Если выданное исключение InvocationTargetException, извлеките cause и передайте это к ELException конструктор.

isParmetersProvided

public boolean isParmetersProvided()
Возвратитесь, создавался ли этот MethodExpression с параметрами.

Этот метод должен возвратиться true если и только если параметры определяются в ЭЛЬ, используя expr-a.expr-b (...) синтаксис.

Возвраты:
true если MethodExpression создавался с параметрами, false иначе.
С тех пор:
ЭЛЬ 2.2


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

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

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

free hit counter