package jetbrains.mps.build.actions;

/*Generated by MPS */

import jetbrains.mps.actions.descriptor.BaseActionAspectDescriptor;
import jetbrains.mps.openapi.actions.descriptor.ActionAspectDescriptor;
import java.util.Collection;
import jetbrains.mps.openapi.actions.descriptor.NodeFactory;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import java.util.Collections;
import jetbrains.mps.openapi.actions.descriptor.PasteWrapper;
import java.util.Arrays;

public class ActionAspectDescriptorImpl extends BaseActionAspectDescriptor implements ActionAspectDescriptor {
  private static final String LANGUAGE_FQ_NAME = "jetbrains.mps.build";

  @Override
  public Collection<NodeFactory> getFactories(SAbstractConcept concept) {
    if (LANGUAGE_FQ_NAME.equals(concept.getLanguage().getQualifiedName())) {
      switch (concept.getName()) {
        case "BuildInputFiles":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_1258644073389160421());
        case "BuildInputSingleFile":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_1258644073389160370());
        case "BuildLayout_AbstractCopy":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_6977615362526183835());
        case "BuildLayout_NamedContainer":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_6099797596647438149());
        case "BuildMacro":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_6099797596647440630());
        case "BuildProject":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_6099797596647447256());
        case "BuildProjectPart":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_6099797596647417250());
        case "BuildSourceMacroRelativePath":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_7389400916848172015());
        case "BuildSourceProjectRelativePath":
          return Collections.<NodeFactory>singletonList(new buildScript_nodeFactories.NodeFactory_5481553824944787386());
        default:
      }
    }
    return Collections.<NodeFactory>emptyList();
  }

  @Override
  public Collection<PasteWrapper> getPasteWrappers() {
    return Arrays.asList(new PasteWrapper[]{new wrappers_PasteWrapper_0(), new wrappers_PasteWrapper_1(), new wrappers_PasteWrapper_2(), new wrappers_PasteWrapper_3()});
  }
}
