Expression

Expression (표현식)

Expression 객체는 단일 메서드를 대상(target)과 인자 집합에 적용해 결과를 반환하는 기본 표현식, 예를 들어 "a.getFoo()" 같은 것을 나타내요. 슈퍼클래스의 속성에 더해, 이 표현식이 평가될 때 반환되는 객체인 value를 제공해요.

출처: Java API Reference

본문

반환 값은 일반적으로 호출자가 제공하지 않아요. 대신 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를 상속하는 클래스로, 빈의 영속화 과정에서 객체를 다시 만드는 데 사용돼요.

더 알아보기 (Learn more)

Java 공식 API