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

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;
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy