Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Expression extends Statement
Expression
объект представляет примитивное выражение, в котором единственный метод применяется к цели и ряду параметров, чтобы возвратить результат - как в "a.getFoo()"
. В дополнение к свойствам класса высшего качества, Expression
объект обеспечивает значение, которое является объектом, возвращенным, когда это выражение оценивается. Возвращаемое значение обычно не обеспечивается вызывающей стороной и вместо этого вычисляется, динамически находя метод и вызывая это когда первый звонок getValue
делается.
getValue()
, setValue(java.lang.Object)
Конструктор и Описание |
---|
Expression(Object value, Object target, String methodName, Object[] arguments)
Создает новое
Expression объект с указанным значением для указанного целевого объекта вызвать метод, определенный именем и массивом параметров. |
Expression(Object target, String methodName, Object[] arguments)
Создает новое
Expression объект для указанного целевого объекта вызвать метод, определенный именем и массивом параметров. |
Модификатор и Тип | Метод и Описание |
---|---|
void |
execute()
execute метод находит метод, имя которого является тем же самым как methodName свойство, и вызывает метод на цель. |
Объект |
getValue()
Если свойство значения этого экземпляра уже не устанавливается, этот метод динамически находит метод с указанным methodName на этой цели с этими параметрами и вызывает это.
|
void |
setValue(Object value)
Устанавливает значение этого выражения к
value . |
Строка |
toString()
Печатает значение этого выражения, используя синтаксис стиля Java.
|
getArguments, getMethodName, getTarget
@ConstructorProperties(value={"target","methodName","arguments"}) public Expression(Object target, String methodName, Object[] arguments)
Expression
объект для указанного целевого объекта вызвать метод, определенный именем и массивом параметров. target
и methodName
значения не должны быть null
. Иначе попытка выполнить это Expression
приведет к a NullPointerException
. Если arguments
значение null
, пустой массив используется в качестве значения arguments
свойство.
target
- целевой объект этого выраженияmethodName
- имя метода, чтобы вызвать на указанную цельarguments
- массив параметров, чтобы вызвать указанный методgetValue()
public Expression(Object value, Object target, String methodName, Object[] arguments)
Expression
объект с указанным значением для указанного целевого объекта вызвать метод, определенный именем и массивом параметров. value
значение используется в качестве значения value
свойство, таким образом, getValue()
метод возвратит это, не выполняя это Expression
. target
и methodName
значения не должны быть null
. Иначе попытка выполнить это Expression
приведет к a NullPointerException
. Если arguments
значение null
, пустой массив используется в качестве значения arguments
свойство.
value
- значение этого выраженияtarget
- целевой объект этого выраженияmethodName
- имя метода, чтобы вызвать на указанную цельarguments
- массив параметров, чтобы вызвать указанный методsetValue(java.lang.Object)
public void execute() throws Exception
execute
метод находит метод, имя которого является тем же самым как methodName
свойство, и вызывает метод на цель. Когда класс цели определяет много методов с помощью имени, реализация должна выбрать самый определенный метод, используя алгоритм, определенный в Спецификации языка (15.11) Java. Динамический класс цели и параметров используется вместо информации о типе времени компиляции и, как Method
класс непосредственно, преобразование между примитивными значениями и их связанными классами обертки обрабатываются внутренне. Следующие типы метода обрабатываются как особые случаи:
Expression
s, а не Statement
s, поскольку они возвращают значение. List
интерфейс может также быть применен, чтобы выстроить экземпляры, отображаясь на статические методы того же самого имени в Array
класс. Если вызванный метод обычно завершается, значение, которое он возвращает, копируется в value
свойство. Отметьте что value
свойство устанавливается в null
, если тип возврата базового метода void
.
execute
в классе Statement
NullPointerException
- если значение target
или methodName
свойство null
NoSuchMethodException
- если соответствующий метод не находитсяSecurityException
- если менеджер безопасности существует, и он отрицает вызов методаException
- это бросается вызванным методомMethod
public Object getValue() throws Exception
getValue
. Если свойство значения было уже установлено, любой звонком setValue
или предыдущий звонок getValue
тогда свойство значения возвращается или без поиска или без вызова метода. Свойство значения Expression
устанавливается в уникальное частное (не -null
) оцените по умолчанию, и это значение используется в качестве внутренней индикации, что метод еще не вызвали. Возвращаемое значение null
замены это значение по умолчанию таким же образом, что любое другое значение было бы, гарантируя, что выражения никогда не оцениваются не раз.
См. excecute
метод для деталей о том, как методы выбираются, используя динамические типы цели и параметров.
Exception
Statement.execute()
, setValue(java.lang.Object)
public void setValue(Object value)
value
. Это значение будет возвращено getValue методом, не вызывая метод, связанный с этим выражением.value
- Значение этого выражения.getValue()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.