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.DynamicExpression;
022    import org.apache.myfaces.tobago.apt.annotation.Tag;
023    import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
024    import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
025    import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
026    import org.apache.myfaces.tobago.component.UITabGroup;
027    import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedDimension;
028    import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
029    import org.apache.myfaces.tobago.taglib.decl.IsImmediateCommand;
030    
031    /*
032     * Date: 08.04.2006
033     * Time: 14:53:06
034     */
035    
036    /**
037     * Renders a tabpanel.
038     */
039    @Tag(name = "tabGroup")
040    @BodyContentDescription(anyTagOf = "(<tc:tab>* ")
041    @UIComponentTag(
042        uiComponent = "org.apache.myfaces.tobago.component.UITabGroup",
043        rendererType = "TabGroup")
044    
045    public interface TabGroupTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasDeprecatedDimension,
046        IsImmediateCommand {
047      /**
048       * Deprecated! Use 'switchType' instead.
049       * Flag indicating that tab switching is done by server request.
050       *
051       * @deprecated
052       */
053      @TagAttribute
054      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
055      @Deprecated
056      void setServerside(String serverside);
057    
058      /**
059    
060       * Flag indicating that the Tab Navigationbar is rendered.
061       *
062       */
063      @TagAttribute
064      @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
065      @Deprecated
066      void setShowNavigationBar(String serverside);
067    
068      /**
069       * Indicating how tab switching should be done.
070       * <p/>
071       * Possible values are:
072       * <dl>
073       *   <dt>client</dt>
074       *   <dd>Tab switching is done on client, no server Request. This is default.</dd>
075       *   <dt>reloadPage</dt>
076       *   <dd>Tab switching is done by server request. Full page is reloaded.</dd>
077       *   <dt>reloadTab</dt>
078       *   <dd>Tab switching is done by server request. Only the Tab is reloaded.</dd>
079       * </dl>
080       * @param switchType Sets the switching type.
081       */
082      @TagAttribute
083      @UIComponentTagAttribute(type = "java.lang.String",
084          allowedValues =
085              {UITabGroup.SWITCH_TYPE_CLIENT, UITabGroup.SWITCH_TYPE_RELOAD_PAGE, UITabGroup.SWITCH_TYPE_RELOAD_TAB},
086          defaultValue = UITabGroup.SWITCH_TYPE_CLIENT)
087      void setSwitchType(String switchType);
088    
089      /**
090       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
091       * component's selected Tab.
092       */
093      @TagAttribute
094      @UIComponentTagAttribute(type = "java.lang.Integer")
095      void setSelectedIndex(String selectedIndex);
096    
097      /**
098       * <strong>ValueBindingExpression</strong> pointing to a Integer to save the
099       * component's selected Tab.
100       */
101      @TagAttribute
102      @UIComponentTagAttribute(type = "java.lang.Integer")
103      @Deprecated()
104      void setState(String state);
105    
106      @TagAttribute
107      @UIComponentTagAttribute(
108          type = "javax.faces.el.MethodBinding",
109          expression = DynamicExpression.METHOD_BINDING)
110      void setTabChangeListener(String listener);
111    }