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

cz.vutbr.web.css.TermFactory Maven / Gradle / Ivy

package cz.vutbr.web.css;

import java.net.URL;
import java.util.List;

import cz.vutbr.web.css.TermNumeric.Unit;

public interface TermFactory {

	TermAngle createAngle(Float value);
	TermAngle createAngle(String value, Unit unit, int unary);
	
	TermCalc createCalc(List> args);
	
	TermColor createColor(TermIdent ident);
	TermColor createColor(String hash);
	TermColor createColor(int r, int g, int b);
    TermColor createColor(int r, int g, int b, int a);
	TermColor createColor(TermFunction function);
	
	TermFrequency createFrequency(Float value);
	TermFrequency createFrequency(String value, Unit unit, int unary);
	
    TermExpression createExpression(String expr);

    TermFunction createFunction(String name);
    TermFunction createFunction(String name, List> args);
	
	TermIdent createIdent(String value);
    TermIdent createIdent(String value, boolean dash);
    TermBracketedIdents createBracketedIdents();
    TermBracketedIdents createBracketedIdents(int initialSize);
	
	TermInteger createInteger(Integer value);
	TermInteger createInteger(String value, int unary);
	
	TermLength createLength(Float value);
    TermLength createLength(Float value, Unit unit);
	TermLength createLength(String value, Unit unit, int unary);
	
	TermList createList();
	TermList createList(int initialSize);
	
	TermNumber createNumber(Float value);
	TermNumber createNumber(String value, int unary);
	
	TermNumeric createNumeric(String value, int unary);
	
	TermNumeric createDimension(String value, int unary);
	
	 TermPair createPair(K key, V value);
	
	TermPercent createPercent(Float value);
	TermPercent createPercent(String value, int unary);
	
	TermPropertyValue createPropertyValue(CSSProperty property, Term value);
	
	TermRect createRect(TermFunction function);
	/**
	 * Creates a rectangle from four lengths. Use {@code null} for {@code auto} values.
	 */
	TermRect createRect(TermLength a, TermLength b, TermLength c, TermLength d);
	
    TermResolution createResolution(Float value);
    TermResolution createResolution(String value, Unit unit, int unary);
    
	TermString createString(String value);
	
	 Term createTerm(V value);
	
	TermTime createTime(Float value);
    TermTime createTime(Float value, Unit unit);
	TermTime createTime(String value, Unit unit, int unary);
	
    TermUnicodeRange createUnicodeRange(String value);
	
	TermURI createURI(String value);
    TermURI createURI(String value, URL base);
    
    TermOperator createOperator(char value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy