BeanProperty

BeanProperty (빈 속성 애너테이션)

자동 생성되는 BeanInfo 클래스에 대해 속성 관련 정보 일부를 지정하는 데 사용하는 애너테이션이에요. 애너테이션이 붙은 클래스에 대응하는 사용자 정의 BeanInfo 클래스가 있으면 이 애너테이션은 사용되지 않아요. 자동 분석을 의미하지 않기 때문이에요.

출처: Java API Reference

본문

BeanProperty 애너테이션은 메서드에 붙는 애너테이션(@Target(METHOD))이고 실행 시점에 유지되며(@Retention(RUNTIME)) 문서화됩니다(@Documented). 속성의 읽기 메서드와 쓰기 메서드에 모두 붙어 있다면, 읽기 메서드의 애너테이션이 우선해 쓰기 메서드의 애너테이션을 대체해요.

다음과 같은 속성 멤버를 가져요.

String description
boolean bound
boolean expert
boolean hidden
boolean preferred
boolean required
boolean visualUpdate
String[] enumerationValues
  • description — 속성에 대한 설명이에요.
  • bound — 이 속성이 바운드(bound) 속성인지 여부예요.
  • expert — 전문가용 속성인지 여부예요.
  • hidden — 숨겨진 속성인지 여부예요.
  • preferred — 선호 속성인지 여부예요.
  • required — 필수 속성인지 여부예요.
  • visualUpdate — 값이 바뀔 때 시각적 업데이트가 필요한지 여부예요.
  • enumerationValues — 이 속성이 가질 수 있는 열거형 값을 나타내요.

이 애너테이션은 IntelliJ 같은 IDE의 빈 편집기에서 속성 정보를 더 정확하게 표시하는 데 도움을 줘요. 관련 API로는 BeanInfo.getPropertyDescriptors()가 있어요.

더 알아보기 (Learn more)

Java 공식 API