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       * Flag indicating how tab switching should be done.
059       * <p/>
060       * Possible values are:
061       * "client"     : Tab switching id done on client, no server Request. This is default.
062       * "reloadPage" : Tab switching id done by server request. Full page is reloaded.
063       * "reloadTab"  : Tab switching id done by server request. Only the Tab is reloaded.
064       */
065      @TagAttribute
066      @UIComponentTagAttribute(type = "java.lang.String",
067          allowedValues =
068              {UITabGroup.SWITCH_TYPE_CLIENT, UITabGroup.SWITCH_TYPE_RELOAD_PAGE, UITabGroup.SWITCH_TYPE_RELOAD_TAB},
069          defaultValue = UITabGroup.SWITCH_TYPE_CLIENT)
070      void setSwitchType(String switchType);
071    
072      /**
073       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
074       * component's selected Tab.
075       */
076      @TagAttribute
077      @UIComponentTagAttribute(type = "java.lang.Integer")
078      void setSelectedIndex(String selectedIndex);
079    
080      /**
081       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
082       * component's selected Tab.
083       */
084      @TagAttribute
085      @UIComponentTagAttribute(type = "java.lang.Integer")
086      @Deprecated()
087      void setState(String state);
088    }