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

org.zkoss.zk.ui.sys.PageRenderPatch Maven / Gradle / Ivy

There is a newer version: 10.0.0-jakarta
Show newest version
/* PageRenderPatch.java

	Purpose:
		
	Description:
		
	History:
		Sat Jan 16 17:53:15 TST 2010, Created by tomyeh

Copyright (C) 2010 Potix Corporation. All Rights Reserved.

*/
package org.zkoss.zk.ui.sys;

import java.io.Writer;
import java.io.IOException;

import org.zkoss.zk.ui.Page;

/**
 * A patch that is used to process the rendering result of a page.
 * Currently, it is used only by {@link org.zkoss.zk.ui.http.DHtmlLayoutPortlet}
 * to allow the deployer to plug-in a patch for particular portal container.
 * For example, {@link org.zkoss.zkplus.liferay.JQueryRenderPatch} is used
 * to patch that Liferay failed to load zk.wpd under IE.
 *
 * 

To specify a patch, use a library property called * "org.zkoss.zk.portlet.PageRenderPatch.class" (refer to {@link Attributes#PORTLET_RENDER_PATCH_CLASS}. * * @author tomyeh * @since 5.0.0 */ public interface PageRenderPatch { /** Called before rendering to test if the patch shall be applied. * @param reqInfo the request information * @return null if no need of patch, or a writer if the patch is required. * The writer will be used to hold the rendering result of the portlet. * Thus, you can process it later in {@link #patchRender} (so the writer * is usually an instance of StringWriter). */ public Writer beforeRender(RequestInfo reqInfo); /** Called after rendering to patch the result. * If {@link #beforeRender} returns null, this method won't be called * since nothing to patch. *

If {@link #beforeRender} returns a writer, the writer will become * the result argument. * @param reqInfo the request information * @param result the result returned by {@link #beforeRender}, and * the rendering result of a page will be written to it. * @param out the real output sent to the client. It is the writer * to write the patched result to. */ public void patchRender(RequestInfo reqInfo, Page page, Writer result, Writer out) throws IOException; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy