All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.bootsfaces.expressions.FormExpressionResolver Maven / Gradle / Ivy

package net.bootsfaces.expressions;

import java.util.ArrayList;
import java.util.List;

import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.component.UIForm;
import javax.faces.component.UIViewRoot;

public class FormExpressionResolver implements AbstractExpressionResolver {
	public List resolve(UIComponent component, List parentComponents, String currentId,
			String originalExpression, String[] parameters) {

		List result = new ArrayList();
//		for (UIComponent parent : parentComponents) {
			UIComponent c = component;

			while (c != null && c.getClass() != UIViewRoot.class) {
				if (UIForm.class.isAssignableFrom(c.getClass())) {
					result.add(c);
					break;
				}
				c = c.getParent();
			}
//		}
		if (result.size() > 0) {
			return result;
		}
		throw new FacesException("Invalid search expression - the component isn't inside a form " + originalExpression);

	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy