cz.vutbr.web.csskit.TermURIImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jstyleparser Show documentation
Show all versions of jstyleparser Show documentation
jStyleParser is a CSS parser written in Java. It has its own application interface that is designed to allow an efficient CSS processing in Java and mapping the values to the Java data types. It parses CSS 2.1 style sheets into structures that can be efficiently assigned to DOM elements. It is intended be the primary CSS parser for the CSSBox library. While handling errors, it is user agent conforming according to the CSS specification.
package cz.vutbr.web.csskit;
import java.net.URL;
import org.unbescape.css.CssEscape;
import cz.vutbr.web.css.TermURI;
/**
* TermURIImpl
* @author kapy
* @author Jan Svercl, VUT Brno, 2008
*/
public class TermURIImpl extends TermImpl implements TermURI {
protected URL base;
protected TermURIImpl() {
}
@Override
public TermURI setValue(String uri) {
if(uri == null)
throw new IllegalArgumentException("Invalid uri for TermURI(null)");
/* this shlould be done by parser
uri = uri.replaceAll("^url\\(", "")
.replaceAll("\\)$", "")
.replaceAll("^'", "")
.replaceAll("^\"", "")
.replaceAll("'$", "")
.replaceAll("\"$", "");
*/
this.value = uri;
return this;
}
public TermURI setBase(URL base)
{
this.base = base;
return this;
}
public URL getBase()
{
return base;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
if(operator!=null) sb.append(operator.value());
sb.append(OutputUtil.URL_OPENING)
.append(CssEscape.escapeCssString(value))
.append(OutputUtil.URL_CLOSING);
return sb.toString();
}
}