001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020 package org.apache.myfaces.tobago.taglib.component; 021 022 import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription; 023 import org.apache.myfaces.tobago.apt.annotation.DynamicExpression; 024 import org.apache.myfaces.tobago.apt.annotation.Tag; 025 import org.apache.myfaces.tobago.apt.annotation.TagAttribute; 026 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag; 027 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute; 028 import org.apache.myfaces.tobago.component.UITabGroup; 029 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedDimension; 030 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered; 031 import org.apache.myfaces.tobago.taglib.decl.IsImmediateCommand; 032 033 /** 034 * Renders a tab panel. 035 */ 036 @Tag(name = "tabGroup") 037 @BodyContentDescription(anyTagOf = "(<tc:tab>* ") 038 @UIComponentTag( 039 uiComponent = "org.apache.myfaces.tobago.component.UITabGroup", 040 rendererType = "TabGroup") 041 042 public interface TabGroupTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasDeprecatedDimension, 043 IsImmediateCommand { 044 /** 045 * Deprecated! Use 'switchType' instead. 046 * Flag indicating that tab switching is done by server request. 047 * 048 * @deprecated 049 */ 050 @TagAttribute 051 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false") 052 @Deprecated 053 void setServerside(String serverside); 054 055 /** 056 * Flag indicating that the tab navigation bar is rendered. 057 */ 058 @TagAttribute 059 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true") 060 void setShowNavigationBar(String showNavigationBar); 061 062 /** 063 * Indicating how tab switching should be done. 064 * <p/> 065 * Possible values are: 066 * <dl> 067 * <dt>client</dt> 068 * <dd>Tab switching is done on client, no server Request.</dd> 069 * <dt>reloadPage</dt> 070 * <dd>Tab switching is done by server request. Full page is reloaded.</dd> 071 * <dt>reloadTab</dt> 072 * <dd>Tab switching is done by server request. Only the Tab is reloaded.</dd> 073 * </dl> 074 * @param switchType Sets the switching type. 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 * @deprecated Please use "selectedIndex" instead. 095 */ 096 @TagAttribute 097 @UIComponentTagAttribute(type = "java.lang.Integer") 098 @Deprecated() 099 void setState(String state); 100 101 @TagAttribute 102 @UIComponentTagAttribute( 103 type = "javax.faces.el.MethodBinding", 104 expression = DynamicExpression.METHOD_BINDING) 105 void setTabChangeListener(String listener); 106 }