2009/05/20 - Apache Shale has been retired.

For more information, please explore the Attic.

View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to you under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.shale.tiger.register;
19  
20  import java.lang.annotation.ElementType;
21  import java.lang.annotation.Retention;
22  import java.lang.annotation.RetentionPolicy;
23  import java.lang.annotation.Target;
24  
25  /***
26   * <p>Class-level annotation indicating that this class should be registered
27   * with the current <code>Lifecycle</code> instance as a JavaServer Faces
28   * <code>PhaseListener</code>.  If the implementation class actually
29   * implements the <code>PhaseListener</code> interface, it will be
30   * registered directly.  Otherwise, an adapter will be registered that
31   * calls through to the methods specified by the {@link BeforePhase}
32   * and/or {@link AfterPhase} annotations.</p>
33   *
34   * @since 1.0.3
35   */
36  @Retention(RetentionPolicy.RUNTIME)
37  @Target(ElementType.TYPE)
38  public @interface FacesPhaseListener {
39  
40  
41      /***
42       * <p>Identifier for the phase that this listener is interested
43       * in participating in.</p>
44       */
45      public enum PhaseId {
46          ANY_PHASE,
47          RESTORE_VIEW,
48          APPLY_REQUEST_VALUES,
49          PROCESS_VALIDATIONS,
50          UPDATE_MODEL_VALUES,
51          INVOKE_APPLICATION,
52          RENDER_RESPONSE
53      }
54  
55  
56      /***
57       * <p>Identifies the phase(s) that this listener is interested in being
58       * notified about.  If not specified, PhaseId.ANY_PHASE is assumed.</p>
59       */
60      public PhaseId phaseId() default PhaseId.ANY_PHASE;
61  
62  
63  }