package lt.inventi.apollo.wicket.theme; import java.util.LinkedHashSet; import java.util.Set; import org.apache.wicket.markup.head.CssHeaderItem; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.request.resource.CssResourceReference; import org.apache.wicket.request.resource.JavaScriptResourceReference; import org.apache.wicket.request.resource.ResourceReference; /** * TODO: document * * @author miha * @version 1.0 */ public class Theme implements ITheme { private final String name; private final Set<ResourceReference> resourceReferences; public Theme(final String name, final ResourceReference... resourceReferences) { this.name = name; this.resourceReferences = new LinkedHashSet<ResourceReference>(resourceReferences.length); for (ResourceReference r : resourceReferences) { if (r != null) { this.resourceReferences.add(r); } } } @Override public String name() { return name; } @Override public void renderHead(IHeaderResponse response) { for (ResourceReference resourceReference : resourceReferences) { if (resourceReference instanceof CssResourceReference) { response.render(CssHeaderItem.forReference(resourceReference)); } else if (resourceReference instanceof JavaScriptResourceReference) { response.render(JavaScriptHeaderItem.forReference(resourceReference)); } } } }