1 package com.atlassian.plugin.webresource;
2
3 import org.apache.commons.lang.StringUtils;
4
5 import java.util.Map;
6 import java.util.List;
7 import java.util.Arrays;
8
9 public class JavascriptWebResource extends AbstractWebResourceFormatter
10 {
11 static final WebResourceFormatter FORMATTER = new JavascriptWebResource();
12
13 private static final String JAVA_SCRIPT_EXTENSION = ".js";
14 private static final List<String> HANDLED_PARAMETERS = Arrays.asList("charset");
15
16 public boolean matches(String name)
17 {
18 return name != null && name.endsWith(JAVA_SCRIPT_EXTENSION);
19 }
20
21 public String formatResource(String url, Map<String, String> params)
22 {
23 StringBuffer buffer = new StringBuffer("<script type=\"text/javascript\" ");
24 buffer.append("src=\"").append(url).append("\" ");
25 buffer.append(StringUtils.join(getParametersAsAttributes(params).iterator(), " "));
26 buffer.append("></script>\n");
27 return buffer.toString();
28 }
29
30 protected List<String> getAttributeParameters()
31 {
32 return HANDLED_PARAMETERS;
33 }
34 }