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

org.ajax4jsf.framework.resource.FacesResourceContext Maven / Gradle / Ivy

/**
 * Licensed under the Common Development and Distribution License,
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.sun.com/cddl/
 *   
 * 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 org.ajax4jsf.framework.resource;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * @author [email protected] (latest modification by $Author: alexsmirnov $)
 * @version $Revision: 1.6 $ $Date: 2006/10/18 10:54:23 $
 *
 */
public class FacesResourceContext extends ResourceContext {

	FacesContext facesContext;
	
	ExternalContext externalContext;
	
	HttpServletResponse response;
	/**
	 * @param facesContext
	 */
	public FacesResourceContext(FacesContext facesContext) {
		
		this.facesContext = facesContext;
		this.externalContext = facesContext.getExternalContext();
		this.response = (HttpServletResponse) externalContext.getResponse();
	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#setHeader(java.lang.String, java.lang.String)
	 */
	public void setHeader(String name, String value) {
		response.setHeader(name,value);

	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#setIntHeader(java.lang.String, int)
	 */
	public void setIntHeader(String name, int value) {
		response.setIntHeader(name,value);

	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#setDateHeader(java.lang.String, long)
	 */
	public void setDateHeader(String name, long value) {
		response.setDateHeader(name,value);

	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#getOutputStream()
	 */
	public OutputStream getOutputStream() throws IOException {
		return response.getOutputStream();
	}

	
	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#getWriter()
	 */
	public PrintWriter getWriter() throws IOException {
		// TODO Auto-generated method stub
		return response.getWriter();
	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#getQueryString()
	 */
	public String getQueryString() {
		return ((HttpServletRequest) externalContext.getRequest()).getQueryString();
	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#getPathInfo()
	 */
	public String getPathInfo() {
		return externalContext.getRequestPathInfo();
	}

	/* (non-Javadoc)
	 * @see org.ajax4jsf.framework.resource.ResourceContext#getSessionAttribute(java.lang.String)
	 */
	public Object getSessionAttribute(String name) {
		return externalContext.getSessionMap().get(name);
	}

	public InputStream getResourceAsStream(String path) {
		
		return externalContext.getResourceAsStream(path);
	}

	public String getRequestParameter(String data_parameter) {
		
		return (String) externalContext.getRequestParameterMap().get(data_parameter);
	}

	public void setContentType(String contentType) {
		response.setContentType(contentType);
		
	}

	public String getInitParameter(String name) {
		// TODO Auto-generated method stub
		return externalContext.getInitParameter(name);
	}

	public String getServletPath() {
		// TODO Auto-generated method stub
		return externalContext.getRequestServletPath();
	}

	public void release() {
		super.release();
		externalContext = null;
		response = null;
		facesContext.release();
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy