View Javadoc

1   /*
2    * $Id: LifecyclePhase.java 20297 2010-11-22 18:49:18Z aperepel $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  package org.mule.api.lifecycle;
11  
12  import org.mule.lifecycle.LifecycleObject;
13  
14  import java.util.Set;
15  
16  /**
17   * Encapsulates the notion of a lifecycle phase i.e. 'stop'.  Implementations of this class are responsible
18   * for invoking the lifecycle phase on a set of objects and also for knowing which phases can preceed and go
19   * after it.  This objects are configurable so that lifecycles can be customised.
20   *
21   * Note that users wouldn't normally customise the lifecycle of the server.
22   */
23  
24  public interface LifecyclePhase
25  {
26      
27      String ALL_PHASES = "all";
28  
29      void addOrderedLifecycleObject(LifecycleObject lco);
30  
31      void removeOrderedLifecycleObject(LifecycleObject lco);
32  
33      Set<LifecycleObject> getOrderedLifecycleObjects();
34  
35      void setOrderedLifecycleObjects(Set<LifecycleObject> orderedLifecycleObjects);
36  
37      Class<?>[] getIgnoredObjectTypes();
38  
39      void setIgnoredObjectTypes(Class<?>[] ignorredObjectTypes);
40  
41      Class<?> getLifecycleClass();
42  
43      void setLifecycleClass(Class<?> lifecycleClass);
44  
45      String getName();
46  
47      Set<String> getSupportedPhases();
48  
49      void setSupportedPhases(Set<String> supportedPhases);
50  
51      void registerSupportedPhase(String phase);
52  
53      boolean isPhaseSupported(String phase);
54  
55      void applyLifecycle(Object o) throws LifecycleException;
56  
57      String getOppositeLifecyclePhase();
58  
59  }