All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cz.vutbr.web.csskit.TermURIImpl Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 4.0.1
Show newest version
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();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy