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<Extend> allExtends = new ArrayList<Extend>(); public MultiTargetExtend(HiddenTokenAwareTree underlyingStructure) { super(underlyingStructure); } public MultiTargetExtend(HiddenTokenAwareTree underlyingStructure, List<Extend> allExtends) { this(underlyingStructure); this.allExtends = allExtends; } public List<Extend> getAllExtends() { return allExtends; } public void setAllExtends(List<Extend> allExtends) { this.allExtends = allExtends; } public void addExtend(Extend extend) { this.allExtends.add(extend); } @Override @NotAstProperty public List<? extends ASTCssNode> getChilds() { return new ArrayList<ASTCssNode>(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; } }