Java Visual Editor는 비주얼 구성요소를 엔터프라이즈 Bean, Java Bean 팩토리 또는 웹 서비스 같은 데이터 소스에 바인드하는 데 도움이 되는 인터페이스 및 클래스의 일반 프레임워크입니다.
테이블 또는 텍스트 필드 같은 비주얼 구성요소는 데이터를 꺼내고 데이터를 넣을 수도 있는 데이터 소스가 필요합니다. Java Visual Editor는 비주얼 구성요소를 데이터 소스의 데이터와 빠르고 간단하게 바인드할 수 있도록 프로젝트에 생성할 수 있는 세 가지 유형의 헬퍼 클래스를 제공합니다. 이들 헬퍼 클래스의 목적은 데이터를 비주얼 구성요소에 바인드하기 위한 런타임 프레임워크를 제공하는 것이 아니라 클라이언트 응용프로그램의 비주얼 개발을 위한 빠른 시작점을 제공하는 것입니다.
헬퍼 클래스의 세 가지 유형은 데이터 소스, 데이터 오브젝트 및 바인더이며, 아래에 각각에 대해 자세히 설명되어 있습니다. Visual Editor가 다양한 Swing 구성요소를 지원하기 위한 Swing 특정 바인더 클래스를 생성하는 반면, 데이터 소스 및 데이터 오브젝트 클래스는 비주얼 구성요소와는 완전히 독립적이어서 향후 다른 위지트(widget) 라이브러리도 지원할 수 있습니다.
제공된 일반 바인더 클래스에 대한 Javadoc의 자세한 정보는 바인더에 대한 API 참조를 참조하십시오.
데이터 소스에 연결하기 위한 Java Visual Editor 바인더 사용에 대해 알려면 다음 학습서를 연습하십시오.
학습서: 웹 서비스를 사용하는 리치 Java 클라이언트 빌드
다음은 비주얼 구성요소를 바인드할 때 Java Visual Editor가 생성하고 인스턴스화한 바인더 클래스의 몇 가지 이점에 대한 설명입니다.
데이터 소스 및 데이터 오브젝트에 비주얼 구성요소를 바인드할 때 바인더 코드가 필요한 대로 프로젝트 소스 디렉토리에 생성됩니다. 기본적으로 생성되는 클래스는 프로젝트의 jve.generated 패키지에 추가됩니다. 그런 다음 자유롭게 데이터 바인딩 논리를 확장, 대체 또는 다시 쓸 수 있습니다. Java Visual Editor는 제공된 인터페이스를 올바르게 구현하는 데이터 오브젝트, 데이터 소스 및 바인더를 위한 비주얼 지원을 제공합니다.
그림 1. Java Visual Editor가 비주얼 구성요소를 데이터 오브젝트 및
데이터 소스에 바인드하는 방법의 상위 레벨 개요
데이터 소스는 데이터 팩토리를 의미합니다. EJB 세션 Bean, 웹 서비스, Java Bean 팩토리 또는 IDataSource 인터페이스를 구현하는 모든 것의 기본이 됩니다. Visual Editor에 적절하게 구성된 데이터 소스는 실제 데이터 팩토리의 사용 가능한 서비스 세트를 리턴하여 응용프로그램에 사용 가능하게 합니다.
데이터 소스는 파사드(facade)를 위한 팩토리로 볼 수 있습니다. 데이터 소스는 데이터 소스 파사드의 인스턴스화 및 초기화를 허용하는 구성 등록 정보를 제공합니다. 파사드(facade)는 백엔드로부터 데이터 오브젝트를 작성하거나 일부 다른 비즈니스 기능을 제공할 수 있는 메소드 세트를 제공하는 클래스입니다. 런타임 중에 getDataSource() 인터페이스가 파사드의 인스턴스를 가져오는 데 사용됩니다. 파사드가 제대로 인스턴스화되는지 확인하는 것은 데이터 소스 구현자의 책임입니다. 예를 들어, EJB 데이터 소스는 getDataSource()가 호출되기 전에 지정된 세션 Bean을 작성하기 위해 홈 인터페이스를 호출합니다. getType()이 파사드 클래스의 유형(클래스)을 리턴해야 합니다. 이 API는 주로 메소드 자체 검사를 위해 디자인 시에 호출됩니다.
데이터 오브젝트는 Java 오브젝트를 관리하고 이를 위한 이벤트 변경 지원을 제공하기 위해 Java 오브젝트를 랩합니다. 대상 오브젝트는 IBoundObject 인터페이스의 getObject() 메소드를 통해 액세스할 수 있습니다.
Java Visual Editor가 구현한 팔레트에서 사용 가능한 여러 가지 유형의 데이터 오브젝트가 있습니다.
그림 1에서 텍스트 필드는 Service2(param)로의 호출에 의해 리턴되는 데이터 오브젝트를 표시하는 데이터 소스 데이터 오브젝트의 특성에 바인드됩니다. 이 릴리스부터, 헬퍼 클래스는 1개 이하의 인수를 갖는 서비스만을 지원합니다. 해결책으로 인수 세트를 다른 서비스에 랩할 수 있습니다.
앞의 그림에서 비주얼 테이블은, 데이터 소스의 Service1을 호출하여 리턴되는 데이터 오브젝트의 배열을 표시하는 데이터 소스 행 오브젝트에 바인드됩니다. 테이블의 열은 데이터 소스 행 오브젝트의 필드에 맵핑됩니다.
그림 1은 행 테이블 바인더가 비주얼 테이블의 선택된 행에 대해 청취하고 해당 행에 대한 기본 데이터 오브젝트를 제공함을 보여줍니다. 해당 기본 데이터 오브젝트는 데이터 소스 데이터 오브젝트를 리턴하기 위해 Service2(param)의 매개변수로 사용됩니다. 그림 1의 텍스트 필드가 이 데이터 소스 데이터 오브젝트에 바인드됩니다.
데이터 소스에 대한 서비스 호출로부터 직접 행 데이터를 가져오는 행 테이블 바인더와 비슷합니다.
그림 1에서는 텍스트 바인더는, Service2(param)가 리턴하는 데이터 소스 데이터 오브젝트의 특성에 비주얼 텍스트 필드를 바인드합니다. 그림 1의 Service2 매개변수가 테이블의 선택한 행(아마도 ID 같은 키 필드)으로부터 수집됩니다. 이 예제에서 Service2는 비주얼 테이블의 선택된 행에 대한 자세한 특성을 리턴할 것입니다. 예를 들어, 비주얼 테이블은 모든 직원을 그들의 성 및 직원 ID와 함께 나열할 수 있습니다. 선택한 행의 직원 ID가 Service2의 매개변수로 사용되며, 이는 직원의 급여를 포함하여 직원에 대한 모든 레코드를 리턴할 수 있습니다. 그런 다음 텍스트 필드는 Service2에 의해 리턴되는 데이터 소스 데이터 오브젝트의 급여 특성에 바인드될 수 있습니다.
Java Visual Editor는 조치에 대한 JButtons 바인드를 지원합니다. 단추가 조치 바인더에 바인드되면 조치 바인더는 조치에 대한 인수가 변할 때 자동으로 단추의 사용 상태를 변경할 수 있습니다. 예를 들어, 서비스 호출을 호출하는 조치 바인더는 해당 서비스 호출에 대한 매개변수가 변경될 때 단추의 작동 상태를 변경할 수 있습니다.
예를 들어, 그림 1에서 단추에 대한 조치 바인더는 텍스트 필드가 바인드되는 동일한 데이터 오브젝트를 매개변수로 사용합니다. 따라서 텍스트 필드의 텍스트가 변경되는 경우 해당 단추에 대한 조치 바인더는 데이터 오브젝트가 변경되었음을 발견하고 조치 단추를 사용 가능하도록 만들 수 있습니다. 그런 다음 해당 단추를 누르면 조치 바인더가 텍스트 필드의 변경된 값과 함께 새 데이터 오브젝트를 취하고 데이터 소스에서 Service3(param)을 호출합니다.
그림 1에서 텍스트 필터 바인더는 텍스트 필드를 테이블의 특정 열로 바인드합니다.
다시, 생성된 클래스 및 인터페이스는 단순히 비주얼 구성요소를 데이터 오브젝트 및 서비스에 바인드할 수 있는 빠르고 쉬운 방법임을 기억해야 합니다. Java Visual Editor가 생성한 바인더는 프레임워크가 되는 것을 의미하는 것이 아니고 오히려 Java Visual Editor와 제대로 작업하는 일반적인 기본 구현입니다. 응용프로그램 및 데이터 소스의 특정 수요를 만족시키기 위해 생성된 패키지에 클래스 및 인터페이스를 향상시키고 사용자 정의할 수 있습니다. 클래스를 향상시키면 Visual Editor는 클래스가 제공된 인터페이스를 올바르게 구현하는 한, 계속해서 클래스에 대한 비주얼 지원을 제공합니다.