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     * Date: 08.04.2006
032     * Time: 14:53:06
033     */
034    
035    /**
036     * Renders a tabpanel.
037     */
038    @Tag(name = "tabGroup")
039    @BodyContentDescription(anyTagOf = "(<tc:tab>* ")
040    @UIComponentTag(
041        uiComponent = "org.apache.myfaces.tobago.component.UITabGroup",
042        rendererType = "TabGroup")
043    
044    public interface TabGroupTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasDeprecatedDimension,
045        IsImmediateCommand {
046      /**
047       * Deprecated! Use 'switchType' instead.
048       * Flag indicating that tab switching is done by server request.
049       *
050       * @deprecated
051       */
052      @TagAttribute
053      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
054      @Deprecated
055      void setServerside(String serverside);
056    
057      /**
058    
059       * Flag indicating that the Tab Navigationbar is rendered.
060       *
061       */
062      @TagAttribute
063      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
064      @Deprecated
065      void setShowNavigationBar(String serverside);
066    
067    
068      /**
069       * Flag indicating how tab switching should be done.
070       * <p/>
071       * Possible values are:
072       * "client"     : Tab switching id done on client, no server Request. This is default.
073       * "reloadPage" : Tab switching id done by server request. Full page is reloaded.
074       * "reloadTab"  : Tab switching id done by server request. Only the Tab is reloaded.
075       */
076      @TagAttribute
077      @UIComponentTagAttribute(type = "java.lang.String",
078          allowedValues =
079              {UITabGroup.SWITCH_TYPE_CLIENT, UITabGroup.SWITCH_TYPE_RELOAD_PAGE, UITabGroup.SWITCH_TYPE_RELOAD_TAB},
080          defaultValue = UITabGroup.SWITCH_TYPE_CLIENT)
081      void setSwitchType(String switchType);
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      void setSelectedIndex(String selectedIndex);
090    
091      /**
092       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
093       * component's selected Tab.
094       */
095      @TagAttribute
096      @UIComponentTagAttribute(type = "java.lang.Integer")
097      @Deprecated()
098      void setState(String state);
099    }