package jetbrains.mps.samples.multipleProjections.stateMachine.structure;
/*Generated by MPS */
import jetbrains.mps.smodel.runtime.BaseStructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptDescriptor;
import java.util.Collection;
import java.util.Arrays;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.smodel.adapter.ids.SConceptId;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2;
public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
/*package*/ final ConceptDescriptor myConceptAbstractStateMachineElement = createDescriptorForAbstractStateMachineElement();
/*package*/ final ConceptDescriptor myConceptEvent = createDescriptorForEvent();
/*package*/ final ConceptDescriptor myConceptEventReference = createDescriptorForEventReference();
/*package*/ final ConceptDescriptor myConceptState = createDescriptorForState();
/*package*/ final ConceptDescriptor myConceptStateMachine = createDescriptorForStateMachine();
/*package*/ final ConceptDescriptor myConceptStateReference = createDescriptorForStateReference();
/*package*/ final ConceptDescriptor myConceptTransition = createDescriptorForTransition();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptAbstractStateMachineElement, myConceptEvent, myConceptEventReference, myConceptState, myConceptStateMachine, myConceptStateReference, myConceptTransition);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.AbstractStateMachineElement:
return myConceptAbstractStateMachineElement;
case LanguageConceptSwitch.Event:
return myConceptEvent;
case LanguageConceptSwitch.EventReference:
return myConceptEventReference;
case LanguageConceptSwitch.State:
return myConceptState;
case LanguageConceptSwitch.StateMachine:
return myConceptStateMachine;
case LanguageConceptSwitch.StateReference:
return myConceptStateReference;
case LanguageConceptSwitch.Transition:
return myConceptTransition;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForAbstractStateMachineElement() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "AbstractStateMachineElement", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0x6e3eaf7a54e76eeaL);
b.class_(false, true, false);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/7943979732673457898");
return b.create();
}
private static ConceptDescriptor createDescriptorForEvent() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "Event", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c845743bL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.multipleProjections.stateMachine.structure.AbstractStateMachineElement", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0x6e3eaf7a54e76eeaL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008729147");
return b.create();
}
private static ConceptDescriptor createDescriptorForEventReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "EventReference", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457446L);
b.class_(false, false, false);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008729158");
b.associate("event", 0xa99ffe1c8457447L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c845743bL).optional(false).origin("763922957008729159").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForState() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "State", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457442L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.multipleProjections.stateMachine.structure.AbstractStateMachineElement", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0x6e3eaf7a54e76eeaL);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008729154");
return b.create();
}
private static ConceptDescriptor createDescriptorForStateMachine() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "StateMachine", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8456ba1L);
b.class_(false, false, false);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008726945");
b.aggregate("events", 0xa99ffe1c8456ba3L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c845743bL).optional(true).ordered(true).multiple(true).origin("763922957008726947").done();
b.aggregate("transitions", 0xa99ffe1c8456ba4L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c845743dL).optional(true).ordered(true).multiple(true).origin("763922957008726948").done();
b.aggregate("states", 0xa99ffe1c8456ba5L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457442L).optional(true).ordered(true).multiple(true).origin("763922957008726949").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForStateReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "StateReference", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457444L);
b.class_(false, false, false);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008729156");
b.associate("state", 0xa99ffe1c8457445L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457442L).optional(false).origin("763922957008729157").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForTransition() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.multipleProjections.stateMachine", "Transition", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c845743dL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.multipleProjections.stateMachine.structure.AbstractStateMachineElement", 0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0x6e3eaf7a54e76eeaL);
b.origin("r:b986234b-0ae5-423e-aca0-76655e94d151(jetbrains.mps.samples.multipleProjections.stateMachine.structure)/763922957008729149");
b.prop("condition", 0xa99ffe1c8457441L, "763922957008729153");
b.aggregate("fromState", 0xa99ffe1c845743eL).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457444L).optional(false).ordered(true).multiple(false).origin("763922957008729150").done();
b.aggregate("toState", 0xa99ffe1c8457440L).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457444L).optional(false).ordered(true).multiple(false).origin("763922957008729152").done();
b.aggregate("trigger", 0xa99ffe1c845743fL).target(0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457446L).optional(false).ordered(true).multiple(false).origin("763922957008729151").done();
return b.create();
}
}