01: /* ====================================================================
02: The Jicarilla Software License
03:
04: Copyright (c) 2003 Leo Simons.
05: All rights reserved.
06:
07: Permission is hereby granted, free of charge, to any person obtaining
08: a copy of this software and associated documentation files (the
09: "Software"), to deal in the Software without restriction, including
10: without limitation the rights to use, copy, modify, merge, publish,
11: distribute, sublicense, and/or sell copies of the Software, and to
12: permit persons to whom the Software is furnished to do so, subject to
13: the following conditions:
14:
15: The above copyright notice and this permission notice shall be
16: included in all copies or substantial portions of the Software.
17:
18: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19: EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20: MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21: IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22: CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23: TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24: SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25: ==================================================================== */
26: package org.jicarilla.lang;
27:
28: /**
29: * <p>A simple helper class that makes it easy to activate a whole set of
30: * objects of which some may be {@link Active}. For example:</p>
31: *
32: * <pre>
33: * // helper method in some container...
34: * protected void startAllComponents( Object[] components )
35: * {
36: * for( int i = 0; i < components.length; i++ )
37: * {
38: * component = components[i];
39: * LifecycleUtil.initialize( component );
40: * }
41: * }
42: * </pre>
43: *
44: * @author <a href="lsimons at jicarilla dot org">Leo Simons</a>
45: * @version $Id: LifecycleUtil.java,v 1.1 2004/03/23 13:37:58 lsimons Exp $
46: */
47: public final class LifecycleUtil {
48: /**
49: * {@link Active#initialize() Initialize} an object if it is
50: * <code>Active</code>.
51: *
52: * @param o the object to initializ.
53: * @throws Throwable if the call to {@link Active#initialize()} throws an
54: * exception
55: */
56: public static void initialize(final Object o) throws Throwable {
57: if (o instanceof Active) {
58: ((Active) o).initialize();
59: }
60: }
61:
62: /**
63: * {@link Active#dispose() Dispose} of an object if it is
64: * <code>Active</code>.
65: *
66: * @param o the object to dispose of
67: * @throws Throwable if the call to {@link Active#dispose()} throws an
68: * exception
69: */
70: public static void dispose(final Object o) throws Throwable {
71: if (o instanceof Active) {
72: ((Active) o).dispose();
73: }
74: }
75: }
|