001    package org.apache.myfaces.tobago.taglib.component;
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 org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
021    import org.apache.myfaces.tobago.apt.annotation.Tag;
022    import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
023    import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
024    import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
025    import org.apache.myfaces.tobago.component.UITabGroup;
026    import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedDimension;
027    import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
028    import org.apache.myfaces.tobago.taglib.decl.IsImmediateCommand;
029    
030    /*
031     * Created by IntelliJ IDEA.
032     * User: bommel
033     * Date: 08.04.2006
034     * Time: 14:53:06
035     */
036    
037    /**
038     * Renders a tabpanel.
039     */
040    @Tag(name = "tabGroup")
041    @BodyContentDescription(anyTagOf = "(<tc:tab>* ")
042    @UIComponentTag(
043        uiComponent = "org.apache.myfaces.tobago.component.UITabGroup",
044        rendererType = "TabGroup")
045    
046    public interface TabGroupTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasDeprecatedDimension,
047        IsImmediateCommand {
048      /**
049       * Deprecated! Use 'switchType' instead.
050       * Flag indicating that tab switching is done by server request.
051       * @deprecated
052       */
053      @TagAttribute
054      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
055      @Deprecated
056      void setServerside(String serverside);
057    
058      /**
059       * Flag indicating how tab switching should be done.
060       *
061       * Possible values are:
062       *   "client"     : Tab switching id done on client, no server Request. This is default.
063       *   "reloadPage" : Tab switching id done by server request. Full page is reloaded.
064       *   "reloadTab"  : Tab switching id done by server request. Only the Tab is reloaded.
065       */
066      @TagAttribute
067      @UIComponentTagAttribute(type = "java.lang.String",
068          allowedValues =
069              {UITabGroup.SWITCH_TYPE_CLIENT, UITabGroup.SWITCH_TYPE_RELOAD_PAGE, UITabGroup.SWITCH_TYPE_RELOAD_TAB},
070          defaultValue = UITabGroup.SWITCH_TYPE_CLIENT)
071      void setSwitchType(String switchType);
072    
073      /**
074       *
075       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
076       * component's selected Tab.
077       *
078       */
079      @TagAttribute @UIComponentTagAttribute(type = "java.lang.Integer")
080      void setSelectedIndex(String selectedIndex);
081    
082      /**
083       *
084       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
085       * component's selected Tab.
086       */
087      @TagAttribute
088      @UIComponentTagAttribute(type = "java.lang.Integer")
089      @Deprecated()
090      void setState(String state);
091    }