
de.agilecoders.wicket.settings.Theme Maven / Gradle / Ivy
package de.agilecoders.wicket.settings;
import com.google.common.collect.Lists;
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;
import java.util.List;
/**
* Default {@link ITheme} implementation
*
* @author miha
*/
public class Theme implements ITheme {
private final String name;
private final List resourceReferences;
/**
* Construct.
*
* @param name Unique theme name
* @param resourceReferences All references that are necessary for this theme
*/
public Theme(final String name, final ResourceReference... resourceReferences) {
this.name = name;
this.resourceReferences = Lists.newArrayList(resourceReferences);
}
/**
* {@inheritDoc}
*/
@Override
public String name() {
return name;
}
/**
* {@inheritDoc}
*/
@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));
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy