Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java2
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java38
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleImpl.java31
-rw-r--r--plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java2
4 files changed, 67 insertions, 6 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java
index ca22795e3d..425d813b7c 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/Lifecycle.java
@@ -15,7 +15,7 @@ package org.eclipse.net4j.util.lifecycle;
*/
public interface Lifecycle
{
- public void activate() throws Exception;
+ public void activate() throws LifecycleException;
public Exception deactivate();
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java
new file mode 100644
index 0000000000..e0ead1dfd5
--- /dev/null
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleException.java
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * 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.lifecycle;
+
+/**
+ * @author Eike Stepper
+ */
+public class LifecycleException extends RuntimeException
+{
+ private static final long serialVersionUID = 1L;
+
+ public LifecycleException()
+ {
+ }
+
+ public LifecycleException(String message)
+ {
+ super(message);
+ }
+
+ public LifecycleException(Throwable cause)
+ {
+ super(cause);
+ }
+
+ public LifecycleException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleImpl.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleImpl.java
index 1cea11eaa8..1c5dd6892f 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleImpl.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleImpl.java
@@ -50,7 +50,7 @@ public class LifecycleImpl implements Lifecycle, LifecycleNotifier
listeners.remove(listener);
}
- public final synchronized void activate() throws Exception
+ public final synchronized void activate() throws LifecycleException
{
if (!active)
{
@@ -59,16 +59,39 @@ public class LifecycleImpl implements Lifecycle, LifecycleNotifier
TRACER.trace("Activating " + this);//$NON-NLS-1$
}
- onAboutToActivate();
+ try
+ {
+ onAboutToActivate();
+ }
+ catch (RuntimeException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw new LifecycleException(ex);
+ }
+
fireLifecycleAboutToActivate();
if (DUMPER.isEnabled())
{
DUMPER.trace("DUMP" + ReflectUtil.toString(this)); //$NON-NLS-1$
}
- onActivate();
+ try
+ {
+ onActivate();
+ }
+ catch (RuntimeException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw new LifecycleException(ex);
+ }
+
active = true;
-
fireLifecycleActivated();
}
}
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java
index 4be6d44803..159c834dcb 100644
--- a/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java
+++ b/plugins/org.eclipse.net4j/src/org/eclipse/net4j/util/lifecycle/LifecycleUtil.java
@@ -68,7 +68,7 @@ public final class LifecycleUtil
/**
* @see Activator
*/
- public static void activate(Object object, boolean useAnnotation) throws Exception
+ public static void activate(Object object, boolean useAnnotation) throws LifecycleException
{
if (object instanceof Lifecycle)
{

Back to the top