Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j/src/org/eclipse/net4j')
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/transport/Connector.java2
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/AbstractLifecycle.java27
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleListener.java2
3 files changed, 25 insertions, 6 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/transport/Connector.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/transport/Connector.java
index 617047eead..bea5c53386 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/transport/Connector.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/transport/Connector.java
@@ -150,6 +150,8 @@ public interface Connector
*/
public interface ChannelListener
{
+ public void notifyChannelAboutToOpen(Channel channel);
+
public void notifyChannelOpened(Channel channel);
public void notifyChannelClosing(Channel channel);
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/AbstractLifecycle.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/AbstractLifecycle.java
index 3e37b306dd..a7597d094d 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/AbstractLifecycle.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/AbstractLifecycle.java
@@ -40,17 +40,18 @@ public abstract class AbstractLifecycle implements Lifecycle, LifecycleNotifier
if (!active)
{
System.out.println(toString() + ": Activating");
- onAccessBeforeActivate();
- onActivate();
+ onAboutToActivate();
+ fireLifecycleAboutToActivate();
+
active = true;
+ onActivate();
+ fireLifecycleActivated();
if (DUMP_ON_ACTIVATE)
{
ReflectUtil.dump(this, toString() + ": DUMP ");
}
-
- fireLifecycleActivated();
- }
+}
}
public final synchronized Exception deactivate()
@@ -96,6 +97,20 @@ public abstract class AbstractLifecycle implements Lifecycle, LifecycleNotifier
}
}
+ protected void fireLifecycleAboutToActivate()
+ {
+ for (LifecycleListener listener : listeners)
+ {
+ try
+ {
+ listener.notifyLifecycleAboutToActivate(this);
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
protected void fireLifecycleActivated()
{
for (LifecycleListener listener : listeners)
@@ -126,7 +141,7 @@ public abstract class AbstractLifecycle implements Lifecycle, LifecycleNotifier
}
}
- protected void onAccessBeforeActivate() throws Exception
+ protected void onAboutToActivate() throws Exception
{
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleListener.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleListener.java
index eaa3863ff6..fc735909e6 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleListener.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleListener.java
@@ -5,6 +5,8 @@ package org.eclipse.net4j.util.lifecycle;
*/
public interface LifecycleListener
{
+ public void notifyLifecycleAboutToActivate(LifecycleNotifier notifier);
+
public void notifyLifecycleActivated(LifecycleNotifier notifier);
public void notifyLifecycleDeactivating(LifecycleNotifier notifier);

Back to the top