public class Expression extends Statement
Expression
对象代表一个原始的表达在一个单一的方法应用于一个目标和一套参数返回一个结果,在
"a.getFoo()"
。
除了对超类的属性,该Expression
对象提供了一个值,返回的对象时,这个表达式求值。的返回值通常不是由调用者提供而计算的动态发现方法和调用它时getValue
第一个电话了。
getValue()
,
setValue(java.lang.Object)
Constructor and Description |
---|
Expression(Object value, Object target, String methodName, Object[] arguments)
创建一个新的与指定的目标对象调用的名称指定的方法的参数数组的指定值
Expression 对象。
|
Expression(Object target, String methodName, Object[] arguments)
创建一个新的
Expression 对象指定的目标对象调用的名称指定的方法和参数的数组。
|
Modifier and Type | Method and Description |
---|---|
void |
execute()
execute 的方法找到一个名字为
methodName 产权方法和调用目标方法。
|
Object |
getValue()
如果此实例的值属性没有设置,该方法动态地发现方法与指定调用这个目标与这些参数并调用它。
|
void |
setValue(Object value)
集
value 这个表达式的值。
|
String |
toString()
版画的价值这个表达式使用java风格的语法。
|
getArguments, getMethodName, getTarget
@ConstructorProperties(value={"target","methodName","arguments"}) public Expression(Object target, String methodName, Object[] arguments)
Expression
对象指定的目标对象调用的名称指定的方法和参数的数组。
的target
和methodName
值不应null
。否则试图执行这Expression
将导致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
将导致NullPointerException
。如果arguments
值null
,空数组的使用arguments
属性的值。
value
-这个表达式的值
target
-这个表达式的目标对象
methodName
-的方法的名称来调用指定的目标
arguments
-参数调用指定的数组的方法
setValue(java.lang.Object)
public void execute() throws 异常
execute
的方法找到一个名字为
methodName
产权方法和调用目标方法。当目标的类定义了许多方法具有给定名称的实施应采用java语言规范中指定的算法选择最具体的方法(15.11)。的目标和参数的动态类中使用的编译时类型信息的地方,像
方法
类本身,原始值和其相关的包装类之间的转换是在内部处理。
下列方法类型作为特殊情况来处理:
Expression
s而不是Statement
s他们返回一个值。List
接口定义也可以应用于阵列的情况下,映射在Array
类同名的静态方法。如果调用的方法正常结束,则返回值是在value
属性复制。请注意,value
属性设置为null
,如果基础方法的返回类型是void
。
execute
方法重写,继承类
Statement
NullPointerException
如果值的
target
或
methodName
属性
null
NoSuchMethodException
-如果没有找到匹配的方法
SecurityException
-如果存在一个安全管理和否定的方法调用
异常
,被调用的方法抛出
方法
public Object getValue() throws 异常
getValue
结果。如果价值属性已经被设置,或者通过电话
setValue
或以前调用
getValue
然后Value属性返回没有抬头或调用方法。
一个Expression
价值属性设置为一个独特的私人(non-null
)值,这个值是用来作为一种内部表示方法尚未被称为。一个null
返回值替换此默认值,其他值会以同样的方式,确保不会对表达不止一次。
看看如何方法选择使用的目标和参数的动态类型的细节execute
方法。
异常
-如果指定调用的方法抛出一个异常
Statement.execute()
,
setValue(java.lang.Object)
public void setValue(Object value)
value
这个表达式的值。这个值将返回到调用getValue方法没有与此相关表达的方法。
value
-这个表达式的值。
getValue()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.