/** * Copyright 2014-2017 Riccardo Massera (TheCoder4.Eu) and Stephan Rauh (http://www.beyondjava.net). * * This file is part of BootsFaces. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.bootsfaces.component.tab; import java.io.IOException; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.render.FacesRenderer; import net.bootsfaces.render.CoreRenderer; /** This class generates the HTML code of <b:tab />. */ @FacesRenderer(componentFamily = "net.bootsfaces.component", rendererType = "net.bootsfaces.component.tab.Tab") public class TabRenderer extends CoreRenderer { @Override public void decode(FacesContext context, UIComponent component) { // The AJAXRenderer generates the id of the child element, but the AJAX event is processed by the parent instead component.getParent().decode(context); } /** * This methods generates the HTML code of the current b:tab. * @param context the FacesContext. * @param component the current b:tab. * @throws IOException thrown if something goes wrong when writing the HTML code. */ @Override public void encodeBegin(FacesContext context, UIComponent component) throws IOException { // Nothing to do: this component is rendered by b:tabView } /** * This methods generates the HTML code of the current b:tab. * @param context the FacesContext. * @param component the current b:tab. * @throws IOException thrown if something goes wrong when writing the HTML code. */ @Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { // Nothing to do: this component is rendered by b:tabView } @Override public void encodeChildren(FacesContext context, UIComponent component) throws IOException { // TODO Auto-generated method stub super.encodeChildren(context, component); } }