package org.jboss.seam.ui.component; import java.io.IOException; import javax.faces.component.UIComponentBase; import javax.faces.component.UIViewRoot; import javax.faces.context.FacesContext; /** * @author Daniel Roth */ public abstract class UIResource extends UIComponentBase { public abstract Object getData(); public abstract void setData(Object data); public abstract String getContentType(); public abstract void setContentType(String contentType); public abstract String getDisposition(); public abstract void setDisposition(String disposition); public abstract String getFileName(); public abstract void setFileName(String fileName); @Override public void encodeBegin(FacesContext arg0) throws IOException { if (!(getParent() instanceof UIViewRoot || getParent() instanceof UIDownload)) { throw new IllegalArgumentException("s:remote must be nested in a s:download or alone in the page"); } super.encodeBegin(arg0); } }