001    package org.apache.myfaces.tobago.event;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one or more
005     * contributor license agreements.  See the NOTICE file distributed with
006     * this work for additional information regarding copyright ownership.
007     * The ASF licenses this file to You under the Apache License, Version 2.0
008     * (the "License"); you may not use this file except in compliance with
009     * the License.  You may obtain a copy of the License at
010     *
011     *      http://www.apache.org/licenses/LICENSE-2.0
012     *
013     * Unless required by applicable law or agreed to in writing, software
014     * distributed under the License is distributed on an "AS IS" BASIS,
015     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016     * See the License for the specific language governing permissions and
017     * limitations under the License.
018     */
019    
020    import javax.faces.component.UIComponent;
021    import javax.faces.event.ActionEvent;
022    import javax.faces.event.FacesListener;
023    
024    /*
025     * User: weber
026     * Date: 13.12.2004
027     * Time: 16:25:03
028     */
029    public class TabChangeEvent extends ActionEvent {
030    
031      private static final long serialVersionUID = 422186716954088729L;
032    
033      private Integer oldTabIndex;
034      private Integer newTabIndex;
035    
036      public TabChangeEvent(UIComponent uiComponent, Integer oldTabIndex, Integer newTabIndex) {
037        super(uiComponent);
038        this.oldTabIndex = oldTabIndex;
039        this.newTabIndex = newTabIndex;
040      }
041      
042      /**
043       * @deprecated Please use {@link TabChangeEvent(UIComponent, Integer, Integer)}
044       */
045      @Deprecated
046      public TabChangeEvent(UIComponent uiComponent, Object oldState, Object newState) {
047        super(uiComponent);
048        setOldState(oldState);
049        setNewState(newState);
050      }
051    
052      public boolean isAppropriateListener(FacesListener facesListener) {
053        return facesListener instanceof TabChangeListener;
054      }
055    
056      public void processListener(FacesListener facesListener) {
057        if (facesListener instanceof TabChangeListener) {
058          ((TabChangeListener) facesListener).processTabChange(this);
059        }
060      }
061    
062      public int getOldTabIndex() {
063        return oldTabIndex;
064      }
065    
066      public int getNewTabIndex() {
067        return newTabIndex;
068      }
069    
070      /**
071       * @deprecated Please use {@link #getOldTabIndex()}
072       */
073      @Deprecated
074      public Object getOldState() {
075        return oldTabIndex;
076      }
077    
078      /**
079       * @deprecated Not supported anymore
080       */
081      @Deprecated
082      public void setOldState(Object oldTabIndex) {
083        this.oldTabIndex = oldTabIndex instanceof Integer ? (Integer) oldTabIndex : -1;
084      }
085    
086      /**
087       * @deprecated Please use {@link #getNewTabIndex()}
088       */
089      @Deprecated
090      public Object getNewState() {
091        return newTabIndex;
092      }
093    
094      /**
095       * @deprecated Not supported anymore
096       */
097      @Deprecated
098      public void setNewState(Object newTabIndex) {
099        this.newTabIndex = newTabIndex instanceof Integer ? (Integer) newTabIndex : -1;
100      }
101    }