View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package javax.faces.event;
20  
21  import javax.faces.context.FacesContext;
22  import javax.faces.lifecycle.Lifecycle;
23  import java.util.EventObject;
24  
25  /**
26   * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
27   * 
28   * @author Thomas Spiegl (latest modification by $Author: struberg $)
29   * @version $Revision: 1188565 $ $Date: 2011-10-25 03:38:53 -0500 (Tue, 25 Oct 2011) $
30   */
31  public class PhaseEvent extends EventObject
32  {
33      private static final long serialVersionUID = -7235692965954486239L;
34      // FIELDS
35      private FacesContext _facesContext;
36      private PhaseId _phaseId;
37  
38      // CONSTRUCTORS
39      public PhaseEvent(FacesContext facesContext, PhaseId phaseId, Lifecycle lifecycle)
40      {
41          super(lifecycle);
42          if (facesContext == null)
43          {
44              throw new NullPointerException("facesContext");
45          }
46          if (phaseId == null)
47          {
48              throw new NullPointerException("phaseId");
49          }
50          if (lifecycle == null)
51          {
52              throw new NullPointerException("lifecycle");
53          }
54  
55          _facesContext = facesContext;
56          _phaseId = phaseId;
57      }
58  
59      // METHODS
60      public FacesContext getFacesContext()
61      {
62          return _facesContext;
63      }
64  
65      public PhaseId getPhaseId()
66      {
67          return _phaseId;
68      }
69  
70      @Override
71      public int hashCode()
72      {
73          int prime = 31;
74          int result = 1;
75          result = prime * result + ((source == null) ? 0 : source.hashCode());
76          result = prime * result + ((_facesContext == null) ? 0 : _facesContext.hashCode());
77          result = prime * result + ((_phaseId == null) ? 0 : _phaseId.hashCode());
78          return result;
79      }
80  
81      @Override
82      public boolean equals(Object obj)
83      {
84          if (this == obj)
85          {
86              return true;
87          }
88          if (obj == null)
89          {
90              return false;
91          }
92          if (getClass() != obj.getClass())
93          {
94              return false;
95          }
96          PhaseEvent other = (PhaseEvent) obj;
97          if (source == null)
98          {
99              if (other.source != null)
100             {
101                 return false;
102             }
103         }
104         else if (!source.equals(other.source))
105         {
106             return false;
107         }
108         if (_facesContext == null)
109         {
110             if (other._facesContext != null)
111             {
112                 return false;
113             }
114         }
115         else if (!_facesContext.equals(other._facesContext))
116         {
117             return false;
118         }
119         if (_phaseId == null)
120         {
121             if (other._phaseId != null)
122             {
123                 return false;
124             }
125         }
126         else if (!_phaseId.equals(other._phaseId))
127         {
128             return false;
129         }
130         return true;
131     }
132 
133 }