Spec-Zone.ru › OpenJDK 8

Класс NamingEvent

  • java.lang.Object
    • java.util.EventObject
      • javax.naming.event.NamingEvent
Все реализованные интерфейсы:
Serializable

public class NamingEvent
extends EventObject

Этот класс представляет событие, генерируемое службой именования/каталога.

Состояние NamingEvent состоит из

  • Источника события: EventContext, который сгенерировал это событие.
  • Типа события.
  • Нового связывания: информация об объекте после изменения.
  • Старого связывания: информация об объекте до изменения.
  • Информация об изменении: информация об изменении, которое спровоцировало это событие; обычно информация, специфичная для поставщика услуг или сервера.

Обратите внимание, что источник события всегда является тем же EventContext экземпляром, с которым слушатель зарегистрирован. Кроме того, имена связываний в NamingEvent всегда относительны к этому экземпляру. Например, предположим, что слушатель выполняет следующую регистрацию:

NamespaceChangeListener listener = ...;
src.addNamingListener("x", SUBTREE_SCOPE, listener);
Когда объект с именем "x/y" впоследствии удаляется, соответствующее NamingEvent (evt) должно содержать:
evt.getEventContext() == src
evt.getOldBinding().getName().equals("x/y")
Следует соблюдать осторожность при одновременном доступе к одному и тому же EventContext из нескольких потоков. Дополнительную информацию о проблемах с потоками см. в описании пакета.
С:
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

Тип события именования, указывающий на переименование объекта. Обратите внимание, что некоторые службы могут генерировать несколько событий для одной логической операции переименования. Например, операция переименования может быть реализована добавлением связи с новым именем и удалением старой связи.

Старая/новая связь в NamingEvent может быть равна null, если старое или новое имя находится вне области, для которой зарегистрирован слушатель.

Когда внутренний узел в дереве пространства имен был переименован, для генерации события переименования должен использоваться самый верхний узел, который входит в область действия слушателя. Степень поддержки этого зависит от поставщика. Например, служба может генерировать уведомления о переименовании для всех потомков изменённого внутреннего узла, и соответствующий поставщик может не иметь возможности предотвратить распространение этих уведомлений до слушателей.

Значение этой константы равно 2.

См. также:
Значения константных полей

OBJECT_CHANGED

public static final int OBJECT_CHANGED

Тип события именования, указывающий на изменение объекта. Изменения могут включать атрибуты объекта или сам объект. Обратите внимание, что некоторые службы могут генерировать несколько событий для одного изменения. Например, изменение может быть реализовано путём сначала удаления старой связи и добавления новой связи с тем же именем, но с другим объектом.

Значение этой константы равно 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.

Имена в newBd и oldBd должны быть разрешены относительно источника события source. Для типа события OBJECT_ADDED, newBd не должно быть null. Для типа события OBJECT_REMOVED, oldBd не должно быть null. Для типа события OBJECT_CHANGED, newBd и oldBd не должны быть null. Для типа события OBJECT_RENAMED, одно из newBd или oldBd может быть null, если новая или старая связь находится вне области, для которой зарегистрирован слушатель.

Параметры:
source - Неравный контекст, сгенерировавший это событие.
type - Тип события.
newBd - Возможная пустая связь до изменения. См. описание метода.
oldBd - Возможная пустая связь после изменения. См. описание метода.
changeInfo - Возможный пустой объект, содержащий информацию об изменении.
См. также:
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 не гарантируют потокобезопасность (и EventContext является подинтерфейсом Context). См. описание пакета потоков для получения дополнительной информации о проблемах с потоками.

Возвращает:
Неравный контекст, сгенерировавший это событие.

getOldBinding

public Binding getOldBinding()

Возвращает связь объекта до изменения.

Связь должна быть неравной, если объект существовал до изменения относительно контекста источника (getEventContext()). То есть, она должна быть неравной для OBJECT_REMOVED и OBJECT_CHANGED. Для OBJECT_RENAMED, она равна null, если объект до переименования находится вне области, для которой слушатель зарегистрировал интерес; она не равна null, если объект находится в области до переименования.

Имя в связи должно быть разрешено относительно источника события getEventContext(). Объект, возвращаемый Binding.getObject(), может быть null, если такая информация недоступна.

Возвращает:
Возможная пустая связь объекта до изменения.

getNewBinding

public Binding getNewBinding()

Возвращает связь объекта после изменения.

Связь должна быть неравной, если объект существовал после изменения относительно контекста источника (getEventContext()). То есть, она должна быть неравной для OBJECT_ADDED и OBJECT_CHANGED. Для OBJECT_RENAMED, она равна null, если объект после переименования находится вне области, для которой слушатель зарегистрировал интерес; она не равна null, если объект находится в области после переименования.

Имя в связи должно быть разрешено относительно источника события getEventContext(). Объект, возвращаемый Binding.getObject(), может быть null, если такая информация недоступна.

Возвращает:
Возможная пустая связь объекта после изменения.

getChangeInfo

public Object getChangeInfo()

Возвращает информацию об изменении для этого события. Значение информации об изменении зависит от службы. Например, это может быть идентификатор, который идентифицирует изменение в журнале изменений на сервере.

Возвращает:
Возможная пустая информация об изменении этого события.

dispatch

public void dispatch(NamingListener listener)

Вызывает соответствующий метод слушателя для этого события. Стандартная реализация этого метода обрабатывает следующие типы событий: OBJECT_ADDED, OBJECT_REMOVED, OBJECT_RENAMED, OBJECT_CHANGED.

Метод слушателя выполняется в том же потоке, что и этот метод. См. описание пакета потоков для получения дополнительной информации о проблемах с потоками.

Параметры:
listener - Неравный слушатель.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API