JavaTM Platform
Standard Ed. 6

java.beans
클래스 Beans

java.lang.Object 
  상위를 확장 java.beans.Beans


public class Beans
extends Object

이 클래스는, 몇개의 다목적 Bean 제어 메소드를 제공합니다.


생성자 의 개요
Beans ()
           
 
메소드의 개요
static Object getInstanceOf (Object  bean, Class <? > targetType)
          지정된 Bean 로부터, 그 소스 객체의 지정된 타입의 뷰를 나타내는 객체를 가져옵니다.
static Object instantiate (ClassLoader  cls, String  beanName)
           Bean 의 인스턴스를 생성합니다.
static Object instantiate (ClassLoader  cls, String  beanName, BeanContext  beanContext)
           Bean 의 인스턴스를 생성합니다.
static Object instantiate (ClassLoader  cls, String  beanName, BeanContext  beanContext, AppletInitializer  initializer)
          Bean 의 인스턴스를 생성합니다.
static boolean isDesignTime ()
          디자인 모드일지 어떨지를 판정합니다.
static boolean isGuiAvailable ()
          Bean 가 GUI 를 이용할 수 있는 환경에서 동작하고 있을지 어떨지를 판정합니다.
static boolean isInstanceOf (Object  bean, Class <? > targetType)
          Bean 가, 지정된 타입의 타겟으로서 표시할 수 있을지 어떨지를 판정합니다.
static void setDesignTime (boolean isDesignTime)
          어플리케이션 구축 환경에서 동작하고 있을지 어떨지를 나타냅니다.
static void setGuiAvailable (boolean isGuiAvailable)
          GUI 조작이 사용 가능한 환경에서 동작하고 있을지 어떨지를 나타냅니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

Beans

public Beans()
메소드의 상세

instantiate

public static Object  instantiate(ClassLoader  cls,
                                 String  beanName)
                          throws IOException ,
                                 ClassNotFoundException 

Bean 의 인스턴스를 생성합니다.

파라미터:
cls - Bean 의 작성원이 된다 클래스 로더. 이것이 null 의 경우는, 시스템 클래스 로더를 사용하는
beanName - 클래스 로더내의 Bean 의 이름. 예를 들어,"sun.beanbox.foobah"
예외:
ClassNotFoundException - 직렬화 된 객체의 클래스가 발견되지 않았던 경우
IOException - 입출력 에러가 발생했을 경우

instantiate

public static Object  instantiate(ClassLoader  cls,
                                 String  beanName,
                                 BeanContext  beanContext)
                          throws IOException ,
                                 ClassNotFoundException 

Bean 의 인스턴스를 생성합니다.

파라미터:
cls - Bean 의 작성원이 된다 클래스 로더. 이것이 null 의 경우는, 시스템 클래스 로더를 사용하는
beanName - 클래스 로더내의 Bean 의 이름. 예를 들어,"sun.beanbox.foobah"
beanContext - 새로운 Bean 의 상자처가 되는 BeanContext
예외:
ClassNotFoundException - 직렬화 된 객체의 클래스가 발견되지 않았던 경우
IOException - 입출력 에러가 발생했을 경우

instantiate

public static Object  instantiate(ClassLoader  cls,
                                 String  beanName,
                                 BeanContext  beanContext,
                                 AppletInitializer  initializer)
                          throws IOException ,
                                 ClassNotFoundException 
Bean 의 인스턴스를 생성합니다.

Bean 는, 클래스 로더에 관계 붙일 수 있었던 이름을 기본으로 작성됩니다. 이 이름은, 「a.b.c」와 같이 점으로써 단락지은 이름이 아니면 안됩니다.

Beans 1.0 에서는, 이름은, 직렬화 된 객체 또는 클래스를 나타낼 수가 있습니다. 장래, 다른 기구가 추가될 가능성이 있습니다. Beans 1.0 에서는, 우선 beanName 를 직렬화 된 객체로서 처리를 시도해 다음에 클래스명으로서 처리합니다.

beanName 를 직렬화 된 객체의 이름으로서 사용하는 경우, 지정된 beanName 를 자원 경로명으로 변환해 접미사(suffix) 「. ser」를 추가합니다. 다음에 그 자원으로부터, 직렬화 된 객체의 로드를 시도합니다.

예를 들어, beanName 에 "x.y" 가 지정되면(자), Beans.instantiate 는 우선 자원 "x/y.ser" 로부터 직렬화 된 객체의 read를 시도해 실패하면(자) 클래스 "x.y" 의 로드를 시도해 그 클래스의 인스턴스를 생성합니다.

Bean 가 java.applet.Applet 의 subtype인 경우는, 특수한 초기화를 합니다. 우선, 디폴트의 AppletStub 와 AppletContext 가 제공됩니다. 다음에 클래스명으로부터 인스턴스가 생성되면(자), 애플릿의 「init」메소드가 불려 갑니다 (Bean 가 직렬화 복원되고 있으면, 이 스텝은 스킵 된다).

애플릿인 Bean 에서는, 애플릿으로 「start」를 호출하는 것은 호출측의 역할입니다. 올바른 동작을 위해서(때문에)는, 애플릿이 가시 AWT 컨테이너에 추가되고 나서 이 처리를 실시하도록(듯이) 합니다.

beans.instantiate 로 작성한 애플릿은, 브라우저내에서 동작하는 애플릿과는 다소 다른 환경에서 동작합니다. 특히, Bean 애플릿은 「파라미터」에 액세스 할 수 없기 때문에, 파라미터치를 설정하기 위해서, 프로퍼티의 취득/설정 메소드를 제공하는 일이 있습니다. Bean 애플릿의 개발자는, Bean 애플릿을 SDK appletviewer (레퍼런스 브라우저 환경용) 및 BDK BeanBox (레퍼런스 Bean 컨테이너용)로 테스트하는 것을 추천합니다.

파라미터:
cls - Bean 의 작성원이 된다 클래스 로더. 이것이 null 의 경우는, 시스템 클래스 로더를 사용하는
beanName - 클래스 로더내의 Bean 의 이름. 예를 들어,"sun.beanbox.foobah"
beanContext - 새로운 Bean 의 상자처가 되는 BeanContext
initializer - 새로운 Bean 의 AppletInitializer
예외:
ClassNotFoundException - 직렬화 된 객체의 클래스가 발견되지 않았던 경우
IOException - 입출력 에러가 발생했을 경우

getInstanceOf

public static Object  getInstanceOf(Object  bean,
                                   Class <? > targetType)
지정된 Bean 로부터, 그 소스 객체의 지정된 타입의 뷰를 나타내는 객체를 가져옵니다.

결과는, 같은 객체 또는 다른 객체입니다. 요구된 타겟트뷰가 없는 경우는, 지정된 Bean 가 돌려주어집니다.

이 메소드는 Beans 1.0 으로 장래, 보다 유연한 Bean 동작을 추가하기 위한 훅으로서 준비되어 있습니다.

파라미터:
bean - 뷰를 취득하는 객체
targetType - 취득하는 뷰의 타입

isInstanceOf

public static boolean isInstanceOf(Object  bean,
                                   Class <? > targetType)
Bean 가, 지정된 타입의 타겟으로서 표시할 수 있을지 어떨지를 판정합니다. 지정된 Bean 에 대해서, Beans.getInstanceof 메소드를 사용해, 지정된 targetType 타입의 뷰를 나타내는 객체를 취득할 수 있는 경우는, 결과는 true 가 됩니다.

파라미터:
bean - 뷰를 취득하는 Bean
targetType - 취득하는 뷰의 타입
반환값:
지정된 Bean 가 지정된 targetType 를 지원하는 경우는 true

isDesignTime

public static boolean isDesignTime()
디자인 모드일지 어떨지를 판정합니다.

반환값:
어플리케이션 구축 환경에서 동작하고 있는 경우는 true
관련 항목:
DesignMode

isGuiAvailable

public static boolean isGuiAvailable()
Bean 가 GUI 를 이용할 수 있는 환경에서 동작하고 있을지 어떨지를 판정합니다.

반환값:
Bean 가, 대화형 GUI 를 사용할 수 있어 다이알로그 박스의 표시등을 실시할 수 있다 환경에서 동작하고 있는 경우는 true. 일반적으로, 윈도우 환경에서는 true 를 돌려주어, 서버 환경하에 있는지, 또는 어플리케이션이 일괄 처리 작업의 일부로서 동작하고 있는 경우는 false 를 돌려준다.
관련 항목:
Visibility

setDesignTime

public static void setDesignTime(boolean isDesignTime)
                          throws SecurityException 
어플리케이션 구축 환경에서 동작하고 있을지 어떨지를 나타냅니다.

이 메소드는, 시큐리티를 체크하므로, 신뢰할 수 없는 애플릿등으로는 사용할 수 없습니다. 즉, 시큐리티 매니저가 존재하는 경우는, 시큐리티 매니저의 checkPropertiesAccess 메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.

파라미터:
isDesignTime - 어플리케이션 구축 툴로 동작하고 있는 경우는 true
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPropertiesAccess 메소드가, 시스템 프로퍼티의 설정을 허가하지 않는 경우
관련 항목:
SecurityManager.checkPropertiesAccess()

setGuiAvailable

public static void setGuiAvailable(boolean isGuiAvailable)
                            throws SecurityException 
GUI 조작이 사용 가능한 환경에서 동작하고 있을지 어떨지를 나타냅니다.

이 메소드는, 시큐리티를 체크하므로, 신뢰할 수 없는 애플릿등으로는 사용할 수 없습니다. 즉, 시큐리티 매니저가 존재하는 경우는, 시큐리티 매니저의 checkPropertiesAccess 메소드가 불려 갑니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.

파라미터:
isGuiAvailable - GUI 조작이 가능한 경우는 true
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkPropertiesAccess 메소드가, 시스템 프로퍼티의 설정을 허가하지 않는 경우
관련 항목:
SecurityManager.checkPropertiesAccess()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.