JavaTM Platform
Standard Ed. 6

java.beans
类 Expression

java.lang.Object
  继承者 java.beans.Statement
      继承者 java.beans.Expression

public class Expression
extends Statement

Expression 对象表示基本表达式,其中将单个方法应用于某一目标和一组参数,以返回结果,与在 "a.getFoo()" 中一样。

除了超类的属性之外,Expression 对象还提供了一个,它是在对这个表达式进行求值时所返回的对象。返回值通常不由调用者提供,而是通过动态查找方法并在第一次调用 getValue 时调用查找到的方法来计算。

从以下版本开始:
1.4
另请参见:
getValue(), setValue(java.lang.Object)

构造方法摘要
Expression(Object value, Object target, String methodName, Object[] arguments)
          为某个返回结果的方法创建一个新的 Expression 对象。
Expression(Object target, String methodName, Object[] arguments)
          按照所给参数创建一个新的 Statement 对象,使其具有 targetmethodNamearguments
 
方法摘要
 Object getValue()
          如果此实例的 value 属性尚未设置,则此方法利用这些参数,在此目标上动态查找具有指定 methodName 的方法,并调用该方法。
 void setValue(Object value)
          将此表达式的值设置为 value
 String toString()
          使用 Java 风格的语法打印此表达式的值。
 
从类 java.beans.Statement 继承的方法
execute, getArguments, getMethodName, getTarget
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Expression

public Expression(Object target,
                  String methodName,
                  Object[] arguments)
按照所给参数创建一个新的 Statement 对象,使其具有 targetmethodNamearguments

参数:
target - 此表达式的 target。
methodName - 此表达式的 methodName。
arguments - 此表达式的 arguments。如果该参数为 null,则使用一个空数组。
另请参见:
getValue()

Expression

public Expression(Object value,
                  Object target,
                  String methodName,
                  Object[] arguments)
为某个返回结果的方法创建一个新的 Expression 对象。但是永远都不会计算结果,因为此构造方法通过调用 setValue 方法,使用 value 参数来设置 value 属性。

参数:
value - 此表达式的 value。
target - 此表达式的 target。
methodName - 此表达式的 methodName。
arguments - 此表达式的 arguments。如果该参数为 null,则使用一个空数组。
另请参见:
setValue(java.lang.Object)
方法详细信息

getValue

public Object getValue()
                throws Exception
如果此实例的 value 属性尚未设置,则此方法利用这些参数,在此目标上动态查找具有指定 methodName 的方法,并调用该方法。方法调用的结果首先被复制到此表达式的 value 属性中,然后作为 getValue 的结果返回。如果通过调用 setValue 或因为以前调用 getValue 已经设置 value 属性,则返回该 value 属性,无需查找或调用该方法。

默认情况下,Expression 的 value 属性被设置为唯一私有(非 null)值,此值被用作指示该方法尚未被调用的内部指示。返回值 null 将替代此默认值,其他任何值也是如此操作,以确保表达式不会被多次求值。

关于如何使用动态类型的 target 和 arguments 选择方法的细节,请参见 excecute 方法。

返回:
对这些 arguments 应用此方法的结果。
抛出:
Exception
另请参见:
Statement.execute(), setValue(java.lang.Object)

setValue

public void setValue(Object value)
将此表达式的值设置为 value。此值将由 getValue 方法返回,无需调用与此表达式相关联的方法。

参数:
value - 此表达式的 value。
另请参见:
getValue()

toString

public String toString()
使用 Java 风格的语法打印此表达式的值。

覆盖:
Statement 中的 toString
返回:
该对象的字符串表示形式。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策