Expression
Expression (표현식)
Expression 객체는 단일 메서드를 대상(target)과 인자 집합에 적용해 결과를 반환하는 기본 표현식, 예를 들어 "a.getFoo()" 같은 것을 나타내요. 슈퍼클래스의 속성에 더해, 이 표현식이 평가될 때 반환되는 객체인 value를 제공해요.
본문
반환 값은 일반적으로 호출자가 제공하지 않아요. 대신 getValue()가 처음 호출될 때 메서드를 동적으로 찾아 호출해 값을 계산해요.
주요 생성자와 메서드는 다음과 같아요.
@ConstructorProperties({"target", "methodName", "arguments"})
public Expression(Object target, String methodName, Object[] arguments)
public Expression(Object value, Object target, String methodName, Object[] arguments)
public void execute() throws Exception
public Object getValue() throws Exception
public void setValue(Object value)
public String toString()
Expression(target, methodName, arguments)— 대상과 메서드 이름, 인자를 지정해 표현식을 만들어요.Expression(value, target, methodName, arguments)— 미리 알려진 결과값과 함께 생성해요.execute()— 메서드를 호출해 표현식을 실행해요. 리플렉션으로 메서드를 찾아 호출하므로 실패 시Exception이 발생할 수 있어요.getValue()— 표현식 평가 결과를 반환해요. 아직 계산되지 않았다면 이때 계산해요.setValue(value)— 결과 값을 직접 설정해요.
Statement를 상속하는 클래스로, 빈의 영속화 과정에서 객체를 다시 만드는 데 사용돼요.