package com.github.sommeri.less4j.core.ast;
import java.util.List;
import com.github.sommeri.less4j.core.ast.annotations.NotAstProperty;
import com.github.sommeri.less4j.core.parser.HiddenTokenAwareTree;
import com.github.sommeri.less4j.utils.ArraysUtils;
public class PseudoClass extends Pseudo {
private ASTCssNode parameter;
public PseudoClass(HiddenTokenAwareTree token, String name, ASTCssNode parameter) {
super(token, name);
setParameter(parameter);
}
public PseudoClass(HiddenTokenAwareTree token, String name) {
super(token, name);
}
public String getFullName() {
return ":"+getName();
}
public boolean hasParameters() {
return getParameter()!=null;
}
public ASTCssNode getParameter() {
return parameter;
}
public void setParameter(ASTCssNode parameter) {
this.parameter = parameter;
}
@Override
public ASTCssNodeType getType() {
return ASTCssNodeType.PSEUDO_CLASS;
}
@Override
@NotAstProperty
public List<? extends ASTCssNode> getChilds() {
return ArraysUtils.asNonNullList(parameter);
}
@Override
public PseudoClass clone() {
PseudoClass result = (PseudoClass) super.clone();
result.parameter = parameter==null?null:parameter.clone();
result.configureParentToAllChilds();
return result;
}
}