BeanInfo
BeanInfo (빈 정보 인터페이스)
BeanInfo 인터페이스를 사용해 BeanInfo 클래스를 만들고, 빈의 메서드·속성·이벤트 등 다양한 기능에 대한 명시적인 정보를 제공할 수 있어요. 빈을 개발할 때, 애플리케이션 작업에 필요한 빈 기능만 구현하고 나머지 BeanInfo 기능은 생략할 수 있어요.
본문
생략된 정보는 빈 메서드에 대한 저수준 리플렉션과 표준 디자인 패턴을 적용한 자동 분석을 통해 얻을 수 있어요. 다양한 descriptor 클래스를 통해 추가적인 빈 정보를 제공할 기회도 있어요.
SimpleBeanInfo 클래스는 BeanInfo 클래스를 위한 편리한 기본 클래스예요. SimpleBeanInfo의 메서드와 속성을 오버라이드해 구체적인 정보를 정의할 수 있어요. 빈 동작에 대해 더 알고 싶다면 Introspector 클래스를 참고할 수 있어요.
주요 상수와 메서드는 다음과 같아요.
static final int ICON_COLOR_16x16
static final int ICON_COLOR_32x32
static final int ICON_MONO_16x16
static final int ICON_MONO_32x32
BeanDescriptor getBeanDescriptor()
EventSetDescriptor[] getEventSetDescriptors()
int getDefaultEventIndex()
PropertyDescriptor[] getPropertyDescriptors()
ICON_*상수 — 다양한 크기와 타입(컬러/모노)의 아이콘을 식별하는 인덱스 상수예요.getBeanDescriptor()— 빈 전체 정보를 담은BeanDescriptor를 반환해요.getEventSetDescriptors()— 빈이 지원하는 이벤트 셋 목록을 반환해요.getDefaultEventIndex()— 기본 이벤트의 인덱스를 반환해요.getPropertyDescriptors()— 빈의 속성 목록을 반환해요.
BeanInfo의 하위 인터페이스로 BeanContextServiceProviderBeanInfo가 있고, 주요 기본 구현 클래스로 SimpleBeanInfo가 있어요.