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.FacesEvent;
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 FacesEvent {
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      @Deprecated
043      public TabChangeEvent(UIComponent uiComponent, Object oldState, Object newState) {
044        super(uiComponent);
045        setOldState(oldState);
046        setNewState(newState);
047      }
048    
049      public boolean isAppropriateListener(FacesListener facesListener) {
050        return facesListener instanceof TabChangeListener;
051      }
052    
053      public void processListener(FacesListener facesListener) {
054        if (facesListener instanceof TabChangeListener) {
055          ((TabChangeListener) facesListener).processTabChange(this);
056        }
057      }
058    
059      public int getOldTabIndex() {
060        return oldTabIndex;
061      }
062    
063      public int getNewTabIndex() {
064        return newTabIndex;
065      }
066    
067      @Deprecated
068      public Object getOldState() {
069        return oldTabIndex;
070      }
071    
072      @Deprecated
073      public void setOldState(Object oldTabIndex) {
074        this.oldTabIndex = oldTabIndex instanceof Integer ? (Integer) oldTabIndex : -1;
075      }
076    
077      @Deprecated
078      public Object getNewState() {
079        return newTabIndex;
080      }
081    
082      @Deprecated
083      public void setNewState(Object newTabIndex) {
084        this.newTabIndex = newTabIndex instanceof Integer ? (Integer) newTabIndex : -1;
085      }
086    }