View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.custom.tabbedpane;
20  
21  import javax.faces.component.NamingContainer;
22  import javax.faces.component.html.HtmlPanelGroup;
23  
24  import org.apache.myfaces.component.EventAware;
25  import org.apache.myfaces.component.UniversalProperties;
26  import org.apache.myfaces.component.UserRoleAware;
27  import org.apache.myfaces.component.UserRoleUtils;
28  
29  /**
30   * TODO: Document this component.
31   * 
32   * Unless otherwise specified, all attributes accept static values or EL expressions.
33   * 
34   * @JSFComponent
35   *   name = "t:panelTab"
36   *   class = "org.apache.myfaces.custom.tabbedpane.HtmlPanelTab"
37   *   tagClass = "org.apache.myfaces.custom.tabbedpane.HtmlPanelTabTag"
38   * @since 1.1.7
39   * @author Manfred Geiler (latest modification by $Author: lu4242 $)
40   * @version $Revision: 691856 $ $Date: 2008-09-03 21:40:30 -0500 (Wed, 03 Sep 2008) $
41   */
42  public abstract class AbstractHtmlPanelTab
43          extends HtmlPanelGroup  implements NamingContainer, 
44          UserRoleAware, EventAware, UniversalProperties
45  {
46      //private static final Log log = LogFactory.getLog(HtmlPanelTab.class);
47  
48      public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlPanelTab";
49      public static final String COMPONENT_FAMILY = "javax.faces.Panel";
50      private static final String DEFAULT_RENDERER_TYPE = "javax.faces.Group";
51      private static final boolean DEFAULT_DISABLED = false;
52  
53      /**
54       * Label of this tab.
55       * 
56       * @JSFProperty
57       */
58      public abstract String getLabel();
59  
60      /**
61       * HTML: When true, this element cannot receive focus.
62       * 
63       * @JSFProperty
64       *   defaultValue = "false"
65       */
66      public abstract boolean isDisabled();
67  
68      public boolean isRendered()
69      {
70          if (!UserRoleUtils.isVisibleOnUserRole(this)) {
71              return false;
72          }
73          return super.isRendered();
74      }
75  }