com.github.sommeri.less4j.core.ast.MultiTargetExtend Maven / Gradle / Ivy
package com.github.sommeri.less4j.core.ast;
import java.util.ArrayList;
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 MultiTargetExtend extends ASTCssNode {
private List allExtends = new ArrayList();
public MultiTargetExtend(HiddenTokenAwareTree underlyingStructure) {
super(underlyingStructure);
}
public MultiTargetExtend(HiddenTokenAwareTree underlyingStructure, List allExtends) {
this(underlyingStructure);
this.allExtends = allExtends;
}
public List getAllExtends() {
return allExtends;
}
public void setAllExtends(List allExtends) {
this.allExtends = allExtends;
}
public void addExtend(Extend extend) {
this.allExtends.add(extend);
}
@Override
@NotAstProperty
public List getChilds() {
return new ArrayList(allExtends);
}
@Override
public ASTCssNodeType getType() {
return ASTCssNodeType.MULTI_TARGET_EXTEND;
}
@Override
public MultiTargetExtend clone() {
MultiTargetExtend result = (MultiTargetExtend) super.clone();
result.allExtends = allExtends == null ? null : ArraysUtils.deeplyClonedList(allExtends);
result.configureParentToAllChilds();
return result;
}
}