|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface StateFactory
이 인터페이스는, 객체의 바인딩 상태를 취득하는 팩토리를 나타냅니다.
JNDI 시스템에서는,객체 팩토리를 사용해 객체 구현을 동적으로 로드할 수 있습니다. 예를 들어 이름 공간에 바인드 된 프린터를 검색하는 경우, 인쇄 서비스가 프린터명을 Reference 에 바인드 하면(자), 프린터 Reference 를 사용해 프린터 객체를 생성해, 룩 업의 호출측이 룩 업 후에 직접 프린터 객체로 조작할 수 있게 됩니다.
ObjectFactory 는 특정의 형태의 객체 생성을 실시합니다. 상기의 예에서는,Printer 객체의 생성에 PrinterObjectFactory 를 사용할 수 있습니다.
역의 프로세스에서는, 객체가 이름 공간에 바인드 되고 있는 경우, JNDI 는 「상태 팩토리」를 제공합니다. 여기에서도 프린터를 예를 들어, 프린터 객체가 갱신되어 재차 바인드 되는 경우를 생각합니다.
ctx 의 서비스 프로바이더는, 상태 팩토리를 사용해 printer 의 이름 공간에의 바인딩 상태를 가져옵니다. Printer 타입 객체 상태 팩토리는, 네이밍 시스템에서의 기억을 위해서(때문에), 보다 컴팩트한 객체를 돌려주는 일이 있습니다.ctx.rebind ("inky", printer) ;
상태 팩토리는 StateFactory 인터페이스를 구현할 필요가 있습니다. 또 팩토리 클래스는 public 인 것이 필요해, 한편 파라미터를 잡히지 않는 public 생성자 을 가질 필요가 있습니다.
상태 팩토리의 getStateToBind() 메소드는, 다른 파라미터를 사용해 여러 차례 불려 가는 일이 있습니다. 구현은 thread 세이프입니다.
StateFactory 는 Context 인터페이스만을 구현하고 있는 서비스 프로바이더 대상입니다. DirStateFactory 는 DirContext 인터페이스를 구현하고 있는 서비스 프로바이더 대상입니다.
NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
DirectoryManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >, javax.naming.directory.Attributes)
,
ObjectFactory
,
DirStateFactory
메소드의 개요 | |
---|---|
Object |
getStateToBind (Object obj,
Name name,
Context nameCtx,
Hashtable <?,?> environment)
객체의 바인딩 상태를 가져옵니다. |
메소드의 상세 |
---|
Object getStateToBind(Object obj, Name name, Context nameCtx, Hashtable <?,?> environment) throws NamingException
NamingManager.getStateToBind() 는 상태 팩토리에 연속적으로 로드해, 1 개(살)이 null 이외의 대답을 생성할 때까지 상태 팩토리상에서 이 메소드를 계속 호출합니다. DirectoryManager.getStateToBind() 는 상태 팩토리에 연속적으로 로드합니다. 팩토리가 DirStateFactory 를 구현하고 있으면,DirectoryManager 가 DirStateFactory.getStateToBind() 를 호출합니다. 그렇지 않은 경우는 StateFactory.getStateToBind() 를 호출합니다.
팩토리가 예외를 throw 하면(자), 그 예외는 NamingManager.getStateToBind() 및 DirectoryManager.getStateToBind() 의 호출 측에 건네받습니다. null 이외의 대답을 생성할 가능성이 있는 것 외의 팩토리의 검색은 정지합니다. 팩토리는, 그것이 목적의 유일한 팩토리이며, 다른 팩토리를 검색할 필요가 없는 것이 확실한 경우에게만, 예외를 throw 하도록(듯이) 합니다. 이 팩토리가 지정된 인수로 객체를 생성할 수 없는 경우는, null 를 돌려줍니다.
name
파라미터 및 nameCtx
파라미터를 임의에 사용해, 생성중의 객체의 이름을 지정할 수 있습니다. 자세한 것은,ObjectFactory.getObjectInstance()
의 「이름 파라미터와 문맥 파라미터」의 설명을 참조해 주세요. 팩토리가 nameCtx
를 사용하는 경우는, 그 사용을 병행 액세스와 동기화하도록(듯이) 합니다. 문맥 구현은 thread 세이프인 것이 보증되어 있지 않기 때문입니다.
name 파라미터 및 environment 파라미터는, 호출측이 소유합니다. 구현은 이러한 객체를 변경하지 않고, 그 객체에 대한 참조도 보관 유지합니다만, 복제 또는 카피에 대한 참조를 보관 유지하는 일이 있습니다.
obj
- 상태를 취득하는 null 이외의 객체name
- nameCtx
에 관련하는 이 객체의 이름.
또는, 이름을 지정하지 않는 경우는 nullnameCtx
- name
파라미터의 지정에 관련하는 문맥,
또는 name
가 디폴트의 초기 문맥에
관련하는 경우는 nullenvironment
- null 의 가능성이 있는, 객체 상태
의 생성에 사용되는 환경
NamingException
- 객체 상태를 취득하려고 하고 있을 때
이 팩토리가 예외를 검출해, 다른 팩토리가
시행되지 않는 경우NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >)
,
DirectoryManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, ? >, javax.naming.directory.Attributes)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.