Java examples for JSF:UIComponent
JSF closest Naming Container
/*//from ww w .j av a 2s .c om * Copyright 2015 tandraschko. * * 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. */ import java.util.ArrayList; import java.util.Iterator; import javax.faces.component.NamingContainer; import javax.faces.component.UIComponent; import javax.faces.component.UIForm; import javax.faces.component.UniqueIdVendor; import javax.faces.context.FacesContext; public class Main{ public static UIComponent closestNamingContainer(UIComponent component) { return (UIComponent) closest(NamingContainer.class, component); } public static <T> T closest(Class<T> type, UIComponent base) { UIComponent parent = base.getParent(); while (parent != null) { if (type.isAssignableFrom(parent.getClass())) { return (T) parent; } parent = parent.getParent(); } return null; } }