diff options
Diffstat (limited to 'plugins/org.eclipse.net4j/src/org/eclipse/net4j')
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); |