JavaTM 2
Platform
Std.  Ed.  v1. 4.0

org.omg.CosNaming
인터페이스 NamingContextOperations

기존의 서브 인터페이스의 일람:
NamingContext , NamingContextExt , NamingContextExtOperations
기존의 구현 클래스의 일람:
_NamingContextExtStub , _NamingContextImplBase , _NamingContextStub , NamingContextExtPOA , NamingContextPOA

public interface NamingContextOperations

네이밍 문맥은 각각이 일의의 이름을 가지는 일련의 네임 바인딩을 저장하는 오브젝트입니다. 다른 이름을, 동시에, 같은 문맥 또는 다른 문맥으로 바인드 할 수가 있습니다.

「CORBA COS Naming Specification」 를 참조해 주세요.


메소드의 개요
 void bind_context (NameComponent [] n, NamingContext  nc)
          네이밍 문맥인 오브젝트의 이름을 지정합니다.
 NamingContext bind_new_context (NameComponent [] n)
          문맥을 새롭게 작성해, 인수로서 지정된 이름에 그 문맥을 바인드 합니다.
 void bind (NameComponent [] n, Object  obj)
          네이밍 문맥에 이름과 오브젝트의 바인딩을 작성합니다.
 void destroy ()
          destroy 는 네이밍 문맥을 삭제합니다.
 void list (int how_many, BindingListHolder  bl, BindingIteratorHolder  bi)
          list 를 사용하면(자), 클라이언트는 네이밍 문맥내의 일련의 바인딩을 차례차례로 취득할 수가 있습니다.
 NamingContext new_context ()
          호출측의 문맥과 같은 네임서버에 의해 구현되는 네이밍 문맥을 돌려줍니다.
 void rebind_context (NameComponent [] n, NamingContext  nc)
          이름이 벌써 문맥으로 바인드 되고 있는 경우에서도, 네이밍 문맥에 이름과 네이밍 문맥의 바인딩을 작성합니다.
 void rebind (NameComponent [] n, Object  obj)
          이름이 벌써 문맥으로 바인드 되고 있는 경우에서도, 네이밍 문맥에 이름과 오브젝트의 바인딩을 작성합니다.
 Object resolve (NameComponent [] n)
          resolve 는 지정된 문맥으로 이름에 바인드 되고 있는 오브젝트를 취득합니다.
 void unbind (NameComponent [] n)
          unbind 는 문맥으로부터 네임 바인딩을 삭제합니다.
 

메소드의 상세

bind

public void bind(NameComponent [] n,
                 Object  obj)
          throws NotFound ,
                 CannotProceed ,
                 InvalidName ,
                 AlreadyBound 
네이밍 문맥에 이름과 오브젝트의 바인딩을 작성합니다. 이름 해석에 대해 복합명이 건네받았을 경우, bind 를 사용해 바인드 되고 있는 네이밍 문맥은 이름 해석에는 더해지지 않습니다.

파라미터:
n - 오브젝트의 이름

obj - 지정된 이름에 바인드 되는 Object

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우

AlreadyBound - 지정된 이름에 오브젝트가 벌써 바인드 되고 있는 경우


bind_context

public void bind_context(NameComponent [] n,
                         NamingContext  nc)
                  throws NotFound ,
                         CannotProceed ,
                         InvalidName ,
                         AlreadyBound 
네이밍 문맥인 오브젝트의 이름을 지정합니다. 이름 해석에 대해 복합명이 건네받았을 경우, bind_context()를 사용해 바인드 되고 있는 네이밍 문맥은 이름 해석에 참가합니다.

파라미터:
n - 오브젝트의 이름

nc - 지정된 이름에 바인드 되는 NamingContect 오브젝트

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우

AlreadyBound - 지정된 이름에 오브젝트가 벌써 바인드 되고 있는 경우


rebind

public void rebind(NameComponent [] n,
                   Object  obj)
            throws NotFound ,
                   CannotProceed ,
                   InvalidName 
이름이 벌써 문맥으로 바인드 되고 있는 경우에서도, 네이밍 문맥에 이름과 오브젝트의 바인딩을 작성합니다. 이름 해석에 대해 복합명이 건네받았을 경우, rebind 를 사용해 바인드 되고 있는 네이밍 문맥은 이름 해석에 참가하지 않습니다.

파라미터:
n - 오브젝트의 이름

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우


rebind_context

public void rebind_context(NameComponent [] n,
                           NamingContext  nc)
                    throws NotFound ,
                           CannotProceed ,
                           InvalidName 
이름이 벌써 문맥으로 바인드 되고 있는 경우에서도, 네이밍 문맥에 이름과 네이밍 문맥의 바인딩을 작성합니다. 이름 해석에 대해 복합명이 건네받았을 경우, rebind_context()를 사용해 바인드 되고 있는 네이밍 문맥은 이름 해석에 참가합니다.

파라미터:
n - 오브젝트의 이름

nc - 지정된 이름에 재바인드 되는 NamingContect 오브젝트

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우


resolve

public Object  resolve(NameComponent [] n)
               throws NotFound ,
                      CannotProceed ,
                      InvalidName 
resolve 는 지정된 문맥으로 이름에 바인드 되고 있는 오브젝트를 취득합니다. 지정된 이름은 바인드 된 이름과 완전하게 일치하고 있을 필요가 있습니다. 네임 서비스는 오브젝트의 형태를 돌려주지 않습니다. 적절한 형태에의 오브젝트의 네로우 변환은 클라이언트측에서 실시할 필요가 있습니다. 즉, 통상 클라이언트는 Object 로부터 돌려주어진 오브젝트를 보다 특수화 된 인터페이스에 캐스트 합니다.

파라미터:
n - 오브젝트의 이름

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우


unbind

public void unbind(NameComponent [] n)
            throws NotFound ,
                   CannotProceed ,
                   InvalidName 
unbind 는 문맥으로부터 네임 바인딩을 삭제합니다.

파라미터:
n - 오브젝트의 이름

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우


list

public void list(int how_many,
                 BindingListHolder  bl,
                 BindingIteratorHolder  bi)
list 를 사용하면(자), 클라이언트는 네이밍 문맥내의 일련의 바인딩을 차례차례로 취득할 수가 있습니다.

list 는 바인딩 리스트 bl 내의, 지정된 수를 최대 수라고 해 바인딩을 돌려줍니다.

파라미터:
how_many - 돌려주어지는 바인딩의 최대수

bl - 돌려주어지는 바인딩의 리스트

bi - 돌려주어지는 바인딩 반복자


new_context

public NamingContext  new_context()
호출측의 문맥과 같은 네임서버에 의해 구현되는 네이밍 문맥을 돌려줍니다. 새로운 문맥은 어느 이름에도 바인드 되고 있지 않습니다.


bind_new_context

public NamingContext  bind_new_context(NameComponent [] n)
                               throws NotFound ,
                                      AlreadyBound ,
                                      CannotProceed ,
                                      InvalidName 
문맥을 새롭게 작성해, 인수로서 지정된 이름에 그 문맥을 바인드 합니다. 새롭게 작성된 문맥은 바인드 된 문맥과 같은 네임서버에 의해 구현됩니다. 즉, 마지막 컴퍼넌트를 제외한, 이름 인수에 의해 나타나는 문맥을 구현하는 네임서버입니다.

파라미터:
n - 오브젝트의 이름

예외:
NotFound - 이름으로 바인딩을 식별할 수 없는 경우

AlreadyBound - 지정된 이름에 오브젝트가 벌써 바인드 되고 있는 경우

CannotProceed - 하등의 이유에 의해 구현이 중지되었을 경우. 다만 클라이언트는 돌려주어진 네이밍 문맥으로 처리를 속행할 수 있는 경우도 있다

InvalidName - 이름이 무효인 경우


destroy

public void destroy()
             throws NotEmpty 
destroy 는 네이밍 문맥을 삭제합니다. 네이밍 문맥에 바인딩이 있는 경우는 NotEmpty 예외가 슬로우 됩니다.

예외:
NotEmpty - Naming Context 에 바인딩이 있는 경우

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.