package fw;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIData;
import javax.faces.context.FacesContext;
import com.sun.faces.util.MessageFactory;

public class FacesUtils {
	

	public static void addGlobalMessage(String key) {
		FacesMessage fm = MessageFactory
			.getMessage(FacesContext.getCurrentInstance(), key);
		FacesContext.getCurrentInstance().addMessage(null, fm);
	}
	public static void addGlobalMessage(String key, Object arg1) {
		FacesMessage fm = MessageFactory
			.getMessage(FacesContext.getCurrentInstance(), key, arg1);
		FacesContext.getCurrentInstance().addMessage(null, fm);
	}
	
	
	public static Object getVindObject(String key) {
		return FacesContext.getCurrentInstance().getApplication()
				.createValueBinding(key).getValue(
						FacesContext.getCurrentInstance());
	}
	
	public static void setVindObject(String key, Object value) {
		FacesContext.getCurrentInstance().getApplication().createValueBinding(
				key).setValue(FacesContext.getCurrentInstance(), value);
	}
	
	public static UIData findAncestorUIData(UIComponent c){
		while(c != null){
			c = c.getParent();
			if(c instanceof UIData){
				return (UIData)c;
			}
		}
		return null;
	}
	
	

}
