summaryrefslogtreecommitdiffstats
path: root/libjava/javax/naming/event/NamingEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/javax/naming/event/NamingEvent.java')
-rw-r--r--libjava/javax/naming/event/NamingEvent.java89
1 files changed, 89 insertions, 0 deletions
diff --git a/libjava/javax/naming/event/NamingEvent.java b/libjava/javax/naming/event/NamingEvent.java
new file mode 100644
index 00000000000..3151dd84024
--- /dev/null
+++ b/libjava/javax/naming/event/NamingEvent.java
@@ -0,0 +1,89 @@
+/* Copyright (C) 2001 Free Software Foundation
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package javax.naming.event;
+import javax.naming.*;
+import java.util.EventObject;
+
+/**
+ * @author Warren Levy <warrenl@redhat.com>
+ * @date June 5, 2001
+ */
+
+public class NamingEvent extends EventObject
+{
+ public static final int OBJECT_ADDED = 0;
+ public static final int OBJECT_REMOVED = 1;
+ public static final int OBJECT_RENAMED = 2;
+ public static final int OBJECT_CHANGED = 3;
+
+ // Serialized fields.
+ protected Object changeInfo;
+ protected int type;
+ protected Binding oldBinding;
+ protected Binding newBinding;
+
+ public NamingEvent(EventContext source, int type, Binding newBd,
+ Binding oldBd, Object changeInfo)
+ {
+ super(source);
+ this.type = type;
+ this.oldBinding = oldBd;
+ this.newBinding = newBd;
+ this.changeInfo = changeInfo;
+ // FIXME: for OBJECT_ADDED, newBd must not be null;
+ // FIXME: for OBJECT_CHANGED, newBd and oldBd must not be null;
+ // FIXME: for OBJECT_RENAMED, one of newBd or oldBd may be null if newBd or
+ // FIXME: oldBd is outside of the scope for which listener has registered.
+ // FIXME: namingExceptionThrown() is called for the listener in question.
+ }
+
+ public int getType()
+ {
+ return type;
+ }
+
+ public EventContext getEventContext()
+ {
+ return (EventContext) getSource();
+ }
+
+ public Binding getOldBinding()
+ {
+ return oldBinding;
+ }
+
+ public Binding getNewBinding()
+ {
+ return newBinding;
+ }
+
+ public Object getChangeInfo()
+ {
+ return changeInfo;
+ }
+
+ public void dispatch(NamingListener listener)
+ {
+ switch (type)
+ {
+ case OBJECT_ADDED:
+ ((NamespaceChangeListener) listener).objectAdded(this);
+ break;
+ case OBJECT_REMOVED:
+ ((NamespaceChangeListener) listener).objectRemoved(this);
+ break;
+ case OBJECT_RENAMED:
+ ((NamespaceChangeListener) listener).objectRenamed(this);
+ break;
+ case OBJECT_CHANGED:
+ ((ObjectChangeListener) listener).objectChanged(this);
+ break;
+ }
+ }
+}
OpenPOWER on IntegriCloud