JavaTM Platform
Standard Ed. 6

javax.naming.event
클래스 NamingEvent

java.lang.Object 
  상위를 확장 java.util.EventObject 
      상위를 확장 javax.naming.event.NamingEvent
모든 구현된 인터페이스:
Serializable


public class NamingEvent
extends EventObject

이 클래스는, 네임 서비스/디렉토리 서비스로 트리거된 이벤트를 나타냅니다.

NamingEvent 상태 구성은 다음과 같습니다.

이벤트 소스는, 청취자가 등록한, 항상 같은 EventContext 인스턴스가 될테니 주의해 주세요. 게다가NamingEvent 에 있는 바인딩명은, 그 인스턴스와 항상 관련하고 있습니다. 예를 들어, 청취자가 다음의 등록을 행했다고 합니다.

        NamespaceChangeListener listener = ...;
        src.addNamingListener("x", SUBTREE_SCOPE, listener);
그 후에 객체명 "x/y" 가 삭제되면(자), 대응하는 NamingEvent (evt)에는 다음을 포함할 필요가 있습니다.
        evt.getEventContext() == src
        evt.getOldBinding(). getName(). equals("x/y")
복수의 thread가 같은 EventContext 에 동시에 액세스 하고 있는 경우는 주의가 필요합니다. thread 문제의 자세한 것은,「패키지의 설명」을 참조해 주세요.

도입된 버젼:
1.3
관련 항목:
NamingListener , EventContext , 직렬화 된 형식

필드의 개요
protected  Object changeInfo
          이 이벤트를 생성한 변경 정보를 포함합니다.
protected  Binding newBinding
          변경 후의 객체 정보를 포함합니다.
static int OBJECT_ADDED
          새로운 객체가 추가된 것을 나타내는 네이밍 이벤트형.
static int OBJECT_CHANGED
          객체가 변경된 것을 나타내는 네이밍 이벤트형.
static int OBJECT_REMOVED
          객체가 삭제된 것을 나타내는 네이밍 이벤트형.
static int OBJECT_RENAMED
          객체의 이름이 변경이 된 것을 나타내는 네이밍 이벤트형.
protected  Binding oldBinding
          변경전의 객체 정보를 포함합니다.
protected  int type
          이 이벤트의 형태를 포함합니다.
 
클래스 java.util. EventObject 로부터 상속된 필드
source
 
생성자 의 개요
NamingEvent (EventContext  source, int type, Binding  newBd, Binding  oldBd, Object  changeInfo)
          NamingEvent 의 인스턴스를 구축합니다.
 
메소드의 개요
 void dispatch (NamingListener  listener)
          이 이벤트로 최적인 청취자 메소드를 호출합니다.
 Object getChangeInfo ()
          이 이벤트의 변경 정보를 가져옵니다.
 EventContext getEventContext ()
          이 이벤트를 트리거한 이벤트 소스를 검출합니다.
 Binding getNewBinding ()
          변경 후의 객체의 바인딩을 가져옵니다.
 Binding getOldBinding ()
          변경전의 객체의 바인딩을 가져옵니다.
 int getType ()
          이 이벤트의 형태를 돌려줍니다.
 
클래스 java.util. EventObject 로부터 상속된 메소드
getSource , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

OBJECT_ADDED

public static final int OBJECT_ADDED
새로운 객체가 추가된 것을 나타내는 네이밍 이벤트형. 이 정수의 값은 0 입니다.

관련 항목:
정수 필드치

OBJECT_REMOVED

public static final int OBJECT_REMOVED
객체가 삭제된 것을 나타내는 네이밍 이벤트형. 이 정수의 값은 1 입니다.

관련 항목:
정수 필드치

OBJECT_RENAMED

public static final int OBJECT_RENAMED
객체의 이름이 변경이 된 것을 나타내는 네이밍 이벤트형. 일부의 서비스에서는, 논리적인 이름 변경 조작 1 개(살)에 대해서, 복수 이벤트를 트리거하는 일이 있을테니 주의해 주세요. 예를 들어, 새로운 이름의 바인딩을 추가해, 낡은 바인딩을 삭제하는 것에 의해, 이름 변경 조작이 구현되는 경우가 있습니다.

낡은 이름 또는 새로운 이름이 청취자의 등록한 범위를 넘고 있는 경우,NamingEvent 에 있는 구/신바인딩은 null 가 되는 일이 있습니다.

이름 공간 트리의 내부 노드가 이름 변경했을 경우, 청취자의 범위내인 최상정도 노드를 사용해, 이름 변경 이벤트가 생성됩니다. 지원 범위는 프로바이더 고유가 됩니다. 예를 들어, 내부 노드를 변경하면(자), 이름 변경 통지가 모든 하위 노드에 대해서 생성됩니다. 대응하는 프로바이더의 설정에 관계없이, 이러한 통지는 청취자에게 강제적으로 전달됩니다.

이 정수의 값은 2 입니다.

관련 항목:
정수 필드치

OBJECT_CHANGED

public static final int OBJECT_CHANGED
객체가 변경된 것을 나타내는 네이밍 이벤트형. 이것에는, 객체의 속성이나 객체 그 자체의 변경도 있습니다. 일부의 서비스에서는 1 개의 수정에 대해서 복수의 이벤트를 트리거하는 일이 있기 때문에 주의해 주세요. 예를 들어, 낡은 바인딩을 삭제하고 나서, 이름이 같아 객체가 다른 새로운 바인딩을 추가하면(자), 수정이 구현되는 경우가 있습니다.

이 정수의 값은 3 입니다.

관련 항목:
정수 필드치

changeInfo

protected Object  changeInfo
이 이벤트를 생성한 변경 정보를 포함합니다.


type

protected int type
이 이벤트의 형태를 포함합니다.

관련 항목:
OBJECT_ADDED , OBJECT_REMOVED , OBJECT_RENAMED , OBJECT_CHANGED

oldBinding

protected Binding  oldBinding
변경전의 객체 정보를 포함합니다.


newBinding

protected Binding  newBinding
변경 후의 객체 정보를 포함합니다.

생성자 의 상세

NamingEvent

public NamingEvent(EventContext  source,
                   int type,
                   Binding  newBd,
                   Binding  oldBd,
                   Object  changeInfo)
NamingEvent 의 인스턴스를 구축합니다.

newBdoldBd 의 이름은, 이벤트 소스 source 에 관련해 해결됩니다. OBJECT_ADDED 이벤트형에 대해서는,newBd 를 null 로 하지 말아 주세요. OBJECT_REMOVED 이벤트형에 대해서는,oldBd 를 null 로 하지 말아 주세요. OBJECT_CHANGED 이벤트형에 대해서는,newBdoldBd 를 null 로 하지 말아 주세요. OBJECT_RENAMED 이벤트형에 대해서는, 청취자가 등록한 범위외에 새로운 바인딩 또는 낡은 바인딩이 있는 경우,newBd 또는 oldBd 의 어느쪽이든을 null 로 할 수 있습니다.

파라미터:
source - 이 이벤트를 트리거한 null 이외의 문맥
type - 이벤트의 형태
newBd - 변경전에 null 의 가능성이 있는 바인딩. 메소드의 설명을 참조
oldBd - 변경 후에 null 의 가능성이 있는 바인딩. 메소드의 설명을 참조
changeInfo - 변경 정보를 포함한, null 의 가능성이 있는 객체
관련 항목:
OBJECT_ADDED , OBJECT_REMOVED , OBJECT_RENAMED , OBJECT_CHANGED
메소드의 상세

getType

public int getType()
이 이벤트의 형태를 돌려줍니다.

반환값:
이 이벤트의 형태
관련 항목:
OBJECT_ADDED , OBJECT_REMOVED , OBJECT_RENAMED , OBJECT_CHANGED

getEventContext

public EventContext  getEventContext()
이 이벤트를 트리거한 이벤트 소스를 검출합니다. 이것은 EventObject.getSource() 와 같은 객체를 돌려줍니다.

이 메소드의 결과를 사용해 이벤트 소스에 액세스 했을 경우, 예를 들어 객체를 참조하거나 속성을 취득하는 경우,Context 의 구현이 thread 세이프는 아닌 (또 EventContextContext 의 서브 인터페이스이다) 모아 두어 락이 필요합니다. thread 문제의 자세한 것은,「패키지의 설명」을 참조해 주세요.

반환값:
이 이벤트를 트리거한 null 이외의 문맥

getOldBinding

public Binding  getOldBinding()
변경전의 객체의 바인딩을 가져옵니다.

변경전에 존재한 객체가, 전송원의 문맥 (getEventContext())에 관련하는 경우, 바인딩은 null 이외일 필요가 있습니다. 즉,OBJECT_REMOVEDOBJECT_CHANGED 에 대해서는 null 의외로 해 주세요. OBJECT_RENAMED 에 대해서는, 이름 변경전의 객체가, 대상을 등록한 청취자의 범위외에 있는 경우는 null 로 해, 객체가 이름 변경전의 범위내에 있는 경우는 null 의외로 해 주세요.

바인딩의 이름은, 이벤트 소스 getEventContext() 에 관련하는 것으로서 해결됩니다. Binding.getObject() 로 반환된 객체는, 정보를 사용할 수 없는 경우는 null 가 됩니다.

반환값:
변경전의 객체로 null 의 가능성이 있는 바인딩

getNewBinding

public Binding  getNewBinding()
변경 후의 객체의 바인딩을 가져옵니다.

변경 후에 존재한 객체가, 전송원의 문맥 (getEventContext())에 관련하는 경우, 바인딩은 null 이외일 필요가 있습니다. 즉,OBJECT_ADDEDOBJECT_CHANGED 에 대해서는 null 의외로 해 주세요. OBJECT_RENAMED 에 대해서는, 이름 변경전의 객체가, 전달 대상을 청취자로 등록한 범위외에 있는 경우는 null 로 해, 객체가 이름 변경 다음에는 범위내에 있는 경우는 null 의외로 해 주세요.

바인딩의 이름은, 이벤트 소스 getEventContext() 에 관련하는 것으로서 해결됩니다. Binding.getObject() 로 반환된 객체는, 정보를 사용할 수 없는 경우는 null 가 됩니다.

반환값:
변경 후의 객체로 null 의 가능성이 있는 바인딩

getChangeInfo

public Object  getChangeInfo()
이 이벤트의 변경 정보를 가져옵니다. 변경 정보의 값은 서비스 특유가 됩니다. 예를 들어, 값은 서버의 변경 로그에 있는, 변경을 식별하는 ID 가 됩니다.

반환값:
이 이벤트의, null 의 가능성이 있는 변경 정보

dispatch

public void dispatch(NamingListener  listener)
이 이벤트로 최적인 청취자 메소드를 호출합니다. 이 메소드의 디폴트 구현에서는, 다음의 이벤트형을 처리합니다. OBJECT_ADDED,OBJECT_REMOVED,OBJECT_RENAMED, 및 OBJECT_CHANGED 입니다.

청취자 메소드는, 이 메소드와 같은 thread로 실행됩니다. thread 문제의 자세한 것은,「패키지의 설명」을 참조해 주세요.

파라미터:
listener - null 이외의 청취자

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 도 참조해 주세요.