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

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

/**
 * MediaQueryImpl.java
 *
 * Created on 26. 6. 2014, 15:43:53 by burgetr
 */
package cz.vutbr.web.csskit;

import java.util.Locale;

import org.unbescape.css.CssEscape;

import cz.vutbr.web.css.MediaExpression;
import cz.vutbr.web.css.MediaQuery;

/**
 * 
 * @author burgetr
 */
public class MediaQueryImpl extends AbstractRule implements MediaQuery
{
    protected boolean negative;
    protected String type;

    public MediaQueryImpl()
    {
        negative = false;
        type = null;
    }
    
    public MediaQueryImpl(String type, boolean negative)
    {
        this.negative = negative;
        this.type = type.trim().toLowerCase(Locale.ENGLISH);
    }
    
    @Override
    public boolean isNegative()
    {
        return negative;
    }
    
    @Override
    public void setNegative(boolean negative)
    {
        this.negative = negative;
    }

    @Override
    public String getType()
    {
        return type;
    }

    @Override
    public void setType(String type)
    {
        this.type = type;
    }

    @Override
    public String toString()
    {
        StringBuilder sb = new StringBuilder();
        
        if (isNegative())
            sb.append("NOT ");
        
        if (getType() != null)
        {
            sb.append(CssEscape.escapeCssIdentifier(getType()));
            if (!isEmpty())
                sb.append(OutputUtil.QUERY_DELIM);
        }
        
        sb = OutputUtil.appendList(sb, list, OutputUtil.QUERY_DELIM);
        
        return sb.toString();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy