package org.qrone.r7.parser; import java.net.URI; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.w3c.dom.css.CSSStyleDeclaration; import org.w3c.dom.css.CSSValue; public class CSS3Value { public static Pattern urlRegex = Pattern.compile("url\\s*\\(\\s*[\"']?(.*?)[\"']?\\s*\\)"); private URI uri; private CSSStyleDeclaration style; private String prop; private CSSValue v; public CSS3Value(URI uri, CSSStyleDeclaration style, CSSValue v, String prop) { this.uri = uri; this.style = style; this.v = v; this.prop = prop; } public String getValue(){ return v != null ? v.getCssText() : null; } public boolean isImportant(){ return style.getPropertyPriority(prop).equals("important"); } public String getURL() { return uri.resolve(pullurl(getValue())).toString(); } private static String pullurl(String style){ Matcher mm = urlRegex.matcher(style); if(mm.find()){ return mm.group(1); }else{ return null; } } }