summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2007-03-12 04:19:32 (EDT)
committerEike Stepper2007-03-12 04:19:32 (EDT)
commit77728e846cc69120550d12d98b8df47562b45e75 (patch)
tree111fc52ec29dbe40824a692c910c7387f26c6625
parent24520f9acd9a10e79ddc99f56ec600e912347969 (diff)
downloadcdo-77728e846cc69120550d12d98b8df47562b45e75.zip
cdo-77728e846cc69120550d12d98b8df47562b45e75.tar.gz
cdo-77728e846cc69120550d12d98b8df47562b45e75.tar.bz2
*** empty log message ***
-rw-r--r--plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsItemProvider.java1
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/AbstractJVMConnector.java2
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ClientJVMConnectorImpl.java23
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactoryImpl.java1
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnectorFactoryImpl.java1
-rw-r--r--plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ServerJVMConnectorImpl.java2
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/AbstractTCPConnector.java4
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ClientTCPConnectorImpl.java9
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ServerTCPConnectorImpl.java27
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactoryImpl.java1
-rw-r--r--plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPConnectorFactoryImpl.java1
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/container/ContainerEventAdapter.java16
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/Registry.java5
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEvent.java26
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEventAdapter.java40
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/registry/IRegistryEvent.java23
16 files changed, 115 insertions, 67 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsItemProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsItemProvider.java
index 5f580e3..02f015a 100644
--- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOSessionsItemProvider.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.cdo.internal.ui.bundle.SharedIcons;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.registry.IRegistry;
+import org.eclipse.net4j.util.registry.IRegistryEvent;
import org.eclipse.swt.graphics.Image;
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/AbstractJVMConnector.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/AbstractJVMConnector.java
index b263249..4704d07 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/AbstractJVMConnector.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/AbstractJVMConnector.java
@@ -16,7 +16,6 @@ import org.eclipse.net4j.transport.IChannel;
import org.eclipse.internal.net4j.transport.Channel;
import org.eclipse.internal.net4j.transport.Connector;
-import org.eclipse.internal.net4j.transport.DescriptionUtil;
import java.util.Queue;
@@ -92,7 +91,6 @@ public abstract class AbstractJVMConnector extends Connector
protected void doBeforeActivate() throws Exception
{
super.doBeforeActivate();
- name = DescriptionUtil.getElement(getDescription(), 2);
if (name == null)
{
throw new IllegalStateException("name == null");
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ClientJVMConnectorImpl.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ClientJVMConnectorImpl.java
index d9b2751..330ba59 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ClientJVMConnectorImpl.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ClientJVMConnectorImpl.java
@@ -11,8 +11,12 @@
package org.eclipse.net4j.internal.jvm;
import org.eclipse.net4j.transport.ConnectorLocation;
+import org.eclipse.net4j.util.event.IListener;
+import org.eclipse.net4j.util.lifecycle.ILifecycle;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
+import org.eclipse.internal.net4j.util.lifecycle.LifecycleEventAdapter;
+
/**
* @author Eike Stepper
*/
@@ -20,17 +24,10 @@ public class ClientJVMConnectorImpl extends AbstractJVMConnector
{
private JVMAcceptorImpl acceptor;
- private LifecycleListener peerLifecycleListener = new LifecycleListener()
+ private IListener peerLifecycleListener = new LifecycleEventAdapter()
{
- public void notifyLifecycleAboutToActivate(LifecycleNotifier notifier)
- {
- }
-
- public void notifyLifecycleActivated(LifecycleNotifier notifier)
- {
- }
-
- public void notifyLifecycleDeactivating(LifecycleNotifier notifier)
+ @Override
+ protected void onAboutToDeactivate(ILifecycle lifecycle)
{
setPeer(null);
deactivate();
@@ -63,7 +60,7 @@ public class ClientJVMConnectorImpl extends AbstractJVMConnector
}
@Override
- protected void onActivate() throws Exception
+ protected void doActivate() throws Exception
{
super.doActivate();
AbstractJVMConnector peer = acceptor.handleAccept(this);
@@ -71,7 +68,7 @@ public class ClientJVMConnectorImpl extends AbstractJVMConnector
}
@Override
- protected void onDeactivate() throws Exception
+ protected void doDeactivate() throws Exception
{
LifecycleUtil.deactivateNoisy(getPeer());
super.doDeactivate();
@@ -82,7 +79,7 @@ public class ClientJVMConnectorImpl extends AbstractJVMConnector
ServerJVMConnectorImpl server = new ServerJVMConnectorImpl(this);
server.setBufferProvider(getBufferProvider());
server.setReceiveExecutor(getReceiveExecutor());
- server.addLifecycleListener(peerLifecycleListener);
+ server.addListener(peerLifecycleListener);
server.activate();
return server;
}
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactoryImpl.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactoryImpl.java
index 1651f2b..f92ec8a 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactoryImpl.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMAcceptorFactoryImpl.java
@@ -12,7 +12,6 @@ package org.eclipse.net4j.internal.jvm;
import org.eclipse.net4j.jvm.JVMConstants;
import org.eclipse.net4j.transport.IAcceptor;
-import org.eclipse.net4j.transport.IAcceptorFactory;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnectorFactoryImpl.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnectorFactoryImpl.java
index 30c81ef..b724717 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnectorFactoryImpl.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/JVMConnectorFactoryImpl.java
@@ -12,7 +12,6 @@ package org.eclipse.net4j.internal.jvm;
import org.eclipse.net4j.jvm.JVMConstants;
import org.eclipse.net4j.transport.IConnector;
-import org.eclipse.net4j.transport.IConnectorFactory;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ServerJVMConnectorImpl.java b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ServerJVMConnectorImpl.java
index 4ac6949..1fddd23 100644
--- a/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ServerJVMConnectorImpl.java
+++ b/plugins/org.eclipse.net4j.jvm/src/org/eclipse/net4j/internal/jvm/ServerJVMConnectorImpl.java
@@ -29,7 +29,7 @@ public class ServerJVMConnectorImpl extends AbstractJVMConnector
}
@Override
- protected void onDeactivate() throws Exception
+ protected void doDeactivate() throws Exception
{
LifecycleUtil.deactivateNoisy(getPeer());
super.doDeactivate();
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/AbstractTCPConnector.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/AbstractTCPConnector.java
index ded8811..70871ec 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/AbstractTCPConnector.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/AbstractTCPConnector.java
@@ -22,7 +22,6 @@ import org.eclipse.net4j.util.om.trace.ContextTracer;
import org.eclipse.internal.net4j.bundle.Net4j;
import org.eclipse.internal.net4j.transport.Channel;
import org.eclipse.internal.net4j.transport.Connector;
-import org.eclipse.internal.net4j.transport.DescriptionUtil;
import java.nio.ByteBuffer;
import java.nio.channels.ClosedChannelException;
@@ -286,14 +285,11 @@ public abstract class AbstractTCPConnector extends Connector implements TCPConne
throw new IllegalStateException("selector == null");
}
- String[] elements = DescriptionUtil.getElements(getDescription());
- host = elements[2];
if (host == null)
{
throw new IllegalStateException("host == null");
}
- port = Integer.parseInt(elements[3]);
if (port == 0)
{
throw new IllegalStateException("port == 0");
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ClientTCPConnectorImpl.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ClientTCPConnectorImpl.java
index 7a1291e..f126cc3 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ClientTCPConnectorImpl.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ClientTCPConnectorImpl.java
@@ -47,7 +47,14 @@ public class ClientTCPConnectorImpl extends AbstractTCPConnector
@Override
public String toString()
{
- return MessageFormat.format("ClientTCPConnector[{0}]", getDescription()); //$NON-NLS-1$
+ if (getUserID() == null)
+ {
+ return MessageFormat.format("ClientTCPConnector[{0}:{1}]", getHost(), getPort()); //$NON-NLS-1$
+ }
+ else
+ {
+ return MessageFormat.format("ClientTCPConnector[{3}@{0}:{1}]", getHost(), getPort(), getUserID()); //$NON-NLS-1$
+ }
}
@Override
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ServerTCPConnectorImpl.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ServerTCPConnectorImpl.java
index 3a7058c..217276a 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ServerTCPConnectorImpl.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/ServerTCPConnectorImpl.java
@@ -30,18 +30,39 @@ public class ServerTCPConnectorImpl extends AbstractTCPConnector
public String getHost()
{
- return getSocketChannel().socket().getInetAddress().getHostAddress();
+ try
+ {
+ return getSocketChannel().socket().getInetAddress().getHostAddress();
+ }
+ catch (RuntimeException ex)
+ {
+ return null;
+ }
}
public int getPort()
{
- return getSocketChannel().socket().getPort();
+ try
+ {
+ return getSocketChannel().socket().getPort();
+ }
+ catch (RuntimeException ex)
+ {
+ return 0;
+ }
}
@Override
public String toString()
{
- return MessageFormat.format("ServerTCPConnector[{0}]", getDescription()); //$NON-NLS-1$
+ if (getUserID() == null)
+ {
+ return MessageFormat.format("ServerTCPConnector[{0}:{1}]", getHost(), getPort()); //$NON-NLS-1$
+ }
+ else
+ {
+ return MessageFormat.format("ServerTCPConnector[{3}@{0}:{1}]", getHost(), getPort(), getUserID()); //$NON-NLS-1$
+ }
}
@Override
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactoryImpl.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactoryImpl.java
index cc07dd9..1330087 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactoryImpl.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPAcceptorFactoryImpl.java
@@ -12,7 +12,6 @@ package org.eclipse.net4j.internal.tcp;
import org.eclipse.net4j.tcp.TCPConstants;
import org.eclipse.net4j.transport.IAcceptor;
-import org.eclipse.net4j.transport.IAcceptorFactory;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPConnectorFactoryImpl.java b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPConnectorFactoryImpl.java
index 27af606..ea42559 100644
--- a/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPConnectorFactoryImpl.java
+++ b/plugins/org.eclipse.net4j.tcp/src/org/eclipse/net4j/internal/tcp/TCPConnectorFactoryImpl.java
@@ -12,7 +12,6 @@ package org.eclipse.net4j.internal.tcp;
import org.eclipse.net4j.tcp.TCPConstants;
import org.eclipse.net4j.transport.IConnector;
-import org.eclipse.net4j.transport.IConnectorFactory;
/**
* @author Eike Stepper
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/container/ContainerEventAdapter.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/container/ContainerEventAdapter.java
index dc7cf99..7b4de98 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/container/ContainerEventAdapter.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/container/ContainerEventAdapter.java
@@ -19,7 +19,7 @@ import org.eclipse.net4j.util.event.IListener;
/**
* @author Eike Stepper
*/
-public class ContainerEventAdapter implements IListener
+public class ContainerEventAdapter<E> implements IListener
{
public final void notifyEvent(IEvent event)
{
@@ -34,17 +34,17 @@ public class ContainerEventAdapter implements IListener
}
}
- protected void notifyContainerEvent(IContainerEvent event)
+ protected void notifyContainerEvent(IContainerEvent<E> event)
{
- final IContainer container = event.getContainer();
- event.accept(new IContainerEventVisitor()
+ final IContainer<E> container = event.getContainer();
+ event.accept(new IContainerEventVisitor<E>()
{
- public void added(Object element)
+ public void added(E element)
{
onAdded(container, element);
}
- public void removed(Object element)
+ public void removed(E element)
{
onRemoved(container, element);
}
@@ -55,11 +55,11 @@ public class ContainerEventAdapter implements IListener
{
}
- protected void onAdded(IContainer container, Object element)
+ protected void onAdded(IContainer<E> container, E element)
{
}
- protected void onRemoved(IContainer container, Object element)
+ protected void onRemoved(IContainer<E> container, E element)
{
}
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/Registry.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/Registry.java
index b3dbc1e..adb1f58 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/Registry.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/Registry.java
@@ -14,7 +14,6 @@ import org.eclipse.net4j.util.container.IContainerDelta;
import org.eclipse.net4j.util.registry.IRegistry;
import org.eclipse.internal.net4j.bundle.Net4j;
-import org.eclipse.internal.net4j.util.container.ContainerEvent;
import org.eclipse.internal.net4j.util.event.Notifier;
import java.util.Collection;
@@ -249,7 +248,7 @@ public abstract class Registry<K, V> extends Notifier implements IRegistry<K, V>
{
private int nesting = 1;
- private ContainerEvent<Map.Entry<K, V>> event;
+ private RegistryEvent<K, V> event;
private Thread owner;
@@ -261,7 +260,7 @@ public abstract class Registry<K, V> extends Notifier implements IRegistry<K, V>
private void initEvent()
{
- event = new ContainerEvent(Registry.this);
+ event = new RegistryEvent(Registry.this);
}
public boolean isOwned()
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEvent.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEvent.java
new file mode 100644
index 0000000..a866c15
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEvent.java
@@ -0,0 +1,26 @@
+package org.eclipse.internal.net4j.util.registry;
+
+import org.eclipse.net4j.util.registry.IRegistry;
+import org.eclipse.net4j.util.registry.IRegistryEvent;
+
+import org.eclipse.internal.net4j.util.container.ContainerEvent;
+
+import java.util.Map;
+
+/**
+ * @author Eike Stepper
+ */
+public class RegistryEvent<K, V> extends ContainerEvent<Map.Entry<K, V>> implements IRegistryEvent<K, V>
+{
+ private static final long serialVersionUID = 1L;
+
+ public RegistryEvent(IRegistry registry)
+ {
+ super(registry);
+ }
+
+ public IRegistry getRegistry()
+ {
+ return (IRegistry)getContainer();
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEventAdapter.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEventAdapter.java
index 0aa3afe..c348a04 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEventAdapter.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/util/registry/RegistryEventAdapter.java
@@ -10,26 +10,25 @@
**************************************************************************/
package org.eclipse.internal.net4j.util.registry;
-import org.eclipse.net4j.util.container.IContainer;
-import org.eclipse.net4j.util.container.IContainerEvent;
import org.eclipse.net4j.util.container.IContainerEventVisitor;
import org.eclipse.net4j.util.event.IEvent;
import org.eclipse.net4j.util.event.IListener;
import org.eclipse.net4j.util.registry.IRegistry;
+import org.eclipse.net4j.util.registry.IRegistryEvent;
import java.util.Map;
/**
* @author Eike Stepper
*/
-public class RegistryEventAdapter implements IListener
+public class RegistryEventAdapter<K, V> implements IListener
{
public final void notifyEvent(IEvent event)
{
- if (event instanceof IContainerEvent)
+ if (event instanceof IRegistryEvent)
{
- IContainerEvent e = (IContainerEvent)event;
- notifyContainerEvent(e);
+ IRegistryEvent e = (IRegistryEvent)event;
+ notifyRegistryEvent(e);
}
else
{
@@ -37,33 +36,18 @@ public class RegistryEventAdapter implements IListener
}
}
- protected void notifyContainerEvent(IContainerEvent event)
+ protected void notifyRegistryEvent(IRegistryEvent<K, V> event)
{
- IContainer container = event.getContainer();
- if (container instanceof IRegistry)
+ final IRegistry<K, V> registry = event.getRegistry();
+ event.accept(new IContainerEventVisitor<Map.Entry<K, V>>()
{
- notifyRegistryEvent(event);
- }
- else
- {
- notifyOtherEvent(event);
- }
- }
-
- protected void notifyRegistryEvent(IContainerEvent event)
- {
- final IRegistry registry = (IRegistry)event.getContainer();
- event.accept(new IContainerEventVisitor()
- {
- public void added(Object element)
+ public void added(Map.Entry<K, V> entry)
{
- Map.Entry entry = (Map.Entry)element;
onAdded(registry, entry.getKey(), entry.getValue());
}
- public void removed(Object element)
+ public void removed(Map.Entry<K, V> entry)
{
- Map.Entry entry = (Map.Entry)element;
onRemoved(registry, entry.getKey(), entry.getValue());
}
});
@@ -73,11 +57,11 @@ public class RegistryEventAdapter implements IListener
{
}
- protected void onAdded(IRegistry registry, Object key, Object value)
+ protected void onAdded(IRegistry<K, V> registry, K key, V value)
{
}
- protected void onRemoved(IRegistry registry, Object key, Object value)
+ protected void onRemoved(IRegistry<K, V> registry, K key, V value)
{
}
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/registry/IRegistryEvent.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/registry/IRegistryEvent.java
new file mode 100644
index 0000000..36dfa15
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/registry/IRegistryEvent.java
@@ -0,0 +1,23 @@
+/***************************************************************************
+ * Copyright (c) 2004-2007 Eike Stepper, Germany.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ **************************************************************************/
+package org.eclipse.net4j.util.registry;
+
+import org.eclipse.net4j.util.container.IContainerEvent;
+
+import java.util.Map;
+
+/**
+ * @author Eike Stepper
+ */
+public interface IRegistryEvent<K, V> extends IContainerEvent<Map.Entry<K, V>>
+{
+ public IRegistry getRegistry();
+}