package ${package}.components; import org.apache.tapestry5.*; import org.apache.tapestry5.annotations.*; import org.apache.tapestry5.ioc.annotations.*; import org.apache.tapestry5.BindingConstants; /** * Layout component for pages of application ${artifactId}. */ @IncludeStylesheet("context:styles/layout.css") @SuppressWarnings("unused") public class Layout { /** The page title, for the <title> element and the <h1> element. */ @Property @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL) private String title; @Property private String pageName; @Property @Parameter(defaultPrefix = BindingConstants.LITERAL) private String sidebarTitle; @Property @Parameter(defaultPrefix = BindingConstants.LITERAL) private Block sidebar; @Inject private ComponentResources resources; public String getClassForPageName(){ return resources.getPageName().equalsIgnoreCase(pageName) ? "current_page_item" : null; } public String[] getPageNames(){ return new String[] { "Index", "About", "Contact" }; } }