Spec-Zone.ru › OpenJDK 17

Класс NamingEvent

java.lang.Object
java.util.EventObject
javax.naming.event.NamingEvent
Все реализованные интерфейсы:
Serializable
public class NamingEvent extends EventObject
Этот класс представляет событие, генерируемое службой именования/каталога.

Состояние события состоит из

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

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

     NamespaceChangeListener listener = ...;
     src.addNamingListener("x", SUBTREE_SCOPE, listener);
Когда объект с именем "x/y" впоследствии удаляется, соответствующее событие (evt) должно содержать:
     evt.getEventContext() == src
     evt.getOldBinding().getName().equals("x/y")
Необходимо соблюдать осторожность при одновременном доступе нескольких потоков к той же самой службе именования/каталога. Дополнительную информацию о проблемах с потоками см. в описании пакета о потоках.
Since:
1.3
См. также:
  • NamingListener
  • EventContext
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
protected Object changeInfo
Содержит информацию о изменении, которое вызвало это событие.
protected Binding newBinding
Содержит информацию об объекте после изменения.
static final int OBJECT_ADDED
Тип события именования для обозначения добавления нового объекта.
static final int OBJECT_CHANGED
Тип события именования для обозначения изменения объекта.
static final int OBJECT_REMOVED
Тип события именования для обозначения удаления объекта.
static final 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()
Возвращает связь объекта до изменения.

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

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

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

getNewBinding

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

Связь должна быть не равна null, если объект существовал после изменения относительно контекста источника (getEventContext()). То есть она должна быть не равна null для 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, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.naming/javax/naming/event/NamingEvent.html

Spec-Zone.ru

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