本文整理匯總了Java中org.jpublish.RepositoryWrapper類的典型用法代碼示例。如果您正苦於以下問題:Java RepositoryWrapper類的具體用法?Java RepositoryWrapper怎麽用?Java RepositoryWrapper使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
RepositoryWrapper類屬於org.jpublish包,在下文中一共展示了RepositoryWrapper類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getWriter
import org.jpublish.RepositoryWrapper; //導入依賴的package包/類
public Writer getWriter(final Writer writer, Map args) throws TemplateModelException, IOException {
Environment env = Environment.getCurrentEnvironment();
BeanModel req = (BeanModel) env.getVariable("request");
BeanModel jpr = (BeanModel) env.getVariable("pages");
final HttpServletRequest request = (HttpServletRequest) req.getWrappedObject();
final ServletContext ctx = (ServletContext) request.getAttribute("servletContext");
final RepositoryWrapper wrapper = (RepositoryWrapper) jpr.getWrappedObject();
final String contextName = ctx.getServletContextName();
final long expireTime = this.getExpireTime(args);
final String include = this.getInclude(args);
return new Writer(writer) {
public void write(char cbuf[], int off, int len) throws IOException {
writer.write(cbuf, off, len);
}
public void flush() throws IOException {
writer.flush();
}
public void close() throws IOException {
Debug.logInfo("Checking for cached content (" + contextName + "." + include + ")", module);
String content = (String) pageCache.get(contextName + "." + include);
if (content == null) {
content = wrapper.get(include);
pageCache.put(contextName + "." + include, content, expireTime);
Debug.logInfo("No content found; cached result for - " + expireTime, module);
}
if (content != null) {
writer.write(content);
}
}
};
}