![JAR search and dependency download from the Maven repository](/logo.png)
cz.vutbr.web.csskit.fn.RepeatImpl 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.
The newest version!
package cz.vutbr.web.csskit.fn;
import cz.vutbr.web.css.Term;
import cz.vutbr.web.css.TermFunction;
import cz.vutbr.web.css.TermIdent;
import cz.vutbr.web.css.TermInteger;
import cz.vutbr.web.css.TermList;
import cz.vutbr.web.csskit.TermFunctionImpl;
import java.util.List;
/**
*
* @author Petr Mikulík
*/
public class RepeatImpl extends TermFunctionImpl implements TermFunction.Repeat {
private static final String AUTO_FIT = "auto-fit";
private static final String AUTO_FILL = "auto-fill";
private Unit _numberOfRepetitions;
private List> _repeatedTerms;
public RepeatImpl() {
setValid(false);
}
@Override
public TermList setValue(List> value) {
super.setValue(value);
List>> args = getSeparatedArgs(DEFAULT_ARG_SEP);
if (args != null && args.size() == 2) {
if (setNumberOfRepetitions(args.get(0)) && setRepeatedTerms(args.get(1))) {
setValid(true);
}
}
return this;
}
@Override
public Unit getNumberOfRepetitions() {
return _numberOfRepetitions;
}
@Override
public List> getRepeatedTerms() {
return _repeatedTerms;
}
private boolean setNumberOfRepetitions(List> argTerms) {
if (argTerms.size() == 1) {
Term> t = argTerms.get(0);
if (t instanceof TermInteger) {
int value = ((TermInteger) t).getIntValue();
if (value > 0) {
_numberOfRepetitions = Unit.createWithNRepetitions(value);
return true;
}
} else if (t instanceof TermIdent) {
String value = ((TermIdent) t).getValue();
if (value.equalsIgnoreCase(AUTO_FIT)) {
_numberOfRepetitions = Unit.createWithAutoFit();
return true;
} else if (value.equalsIgnoreCase(AUTO_FILL)) {
_numberOfRepetitions = Unit.createWithAutoFill();
return true;
}
}
}
return false;
}
private boolean setRepeatedTerms(List> argTerms) {
_repeatedTerms = argTerms;
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy