package fr.openwide.core.wicket.more.markup.html.template.js.jquery.plugins.util; import java.util.Collections; import java.util.List; import org.apache.wicket.markup.head.HeaderItem; import org.apache.wicket.markup.head.JavaScriptHeaderItem; import org.apache.wicket.request.resource.ResourceReference; import org.apache.wicket.resource.JQueryPluginResourceReference; import org.apache.wicket.util.lang.Args; import com.google.common.collect.Lists; import fr.openwide.core.wicket.more.markup.html.template.js.owsi.OwsiUtilsJavaScriptResourceReference; public abstract class AbstractCoreJQueryPluginResourceReference extends JQueryPluginResourceReference { private static final long serialVersionUID = -1602756285653913404L; public AbstractCoreJQueryPluginResourceReference(Class<?> scope, String name) { super(scope, name); } @Override public final List<HeaderItem> getDependencies() { List<HeaderItem> dependencies = super.getDependencies(); dependencies.add(JavaScriptHeaderItem.forReference(OwsiUtilsJavaScriptResourceReference.get())); dependencies.addAll(getPluginDependencies()); return dependencies; } protected List<HeaderItem> getPluginDependencies() { return Collections.emptyList(); } protected List<HeaderItem> forReferences(ResourceReference... references) { Args.notNull(references, "references"); List<HeaderItem> dependencies = Lists.newArrayListWithExpectedSize(references.length); for (ResourceReference reference : references) { dependencies.add(JavaScriptHeaderItem.forReference(reference)); } return dependencies; } }