package org.orienteer.pages.web; import org.apache.wicket.MarkupContainer; import org.apache.wicket.markup.IMarkupCacheKeyProvider; import org.apache.wicket.markup.IMarkupResourceStreamProvider; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.util.resource.IResourceStream; import org.orienteer.core.web.OrienteerBasePage; import org.orienteer.pages.module.PagesModule; /** * {@link WebPage} to show content as embedded page */ public class EmbeddedWebPage extends OrienteerBasePage<Object> implements IMarkupResourceStreamProvider, IMarkupCacheKeyProvider { private final PageDelegate delegate; public EmbeddedWebPage(PageParameters parameters) { super(parameters); delegate = new PageDelegate(this, parameters); } @Override public void detachModels() { super.detachModels(); delegate.detach(); } @Override public String getCacheKey(MarkupContainer container, Class<?> containerClass) { return delegate.getCacheKey(container, containerClass); } @Override public IResourceStream getMarkupResourceStream(MarkupContainer container, Class<?> containerClass) { return delegate.getMarkupResourceStream(container, containerClass, "wicket:extend"); } @Override public IModel<String> getTitleModel() { return delegate.getTitleModel(); } }