package jetbrains.mps.samples.heating.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 myConceptApplicability = createDescriptorForApplicability();
/*package*/ final ConceptDescriptor myConceptChangeEvent = createDescriptorForChangeEvent();
/*package*/ final ConceptDescriptor myConceptDailyPlan = createDescriptorForDailyPlan();
/*package*/ final ConceptDescriptor myConceptDailyPlanReference = createDescriptorForDailyPlanReference();
/*package*/ final ConceptDescriptor myConceptDayRange = createDescriptorForDayRange();
/*package*/ final ConceptDescriptor myConceptHeatingPlan = createDescriptorForHeatingPlan();
/*package*/ final ConceptDescriptor myConceptNotSpecified = createDescriptorForNotSpecified();
/*package*/ final ConceptDescriptor myConceptSlot = createDescriptorForSlot();
/*package*/ final ConceptDescriptor myConceptSpecificDay = createDescriptorForSpecificDay();
/*package*/ final ConceptDescriptor myConceptWeekDays = createDescriptorForWeekDays();
/*package*/ final ConceptDescriptor myConceptWeekendDay = createDescriptorForWeekendDay();
private final LanguageConceptSwitch myConceptIndex;
public StructureAspectDescriptor() {
myConceptIndex = new LanguageConceptSwitch();
}
@Override
public Collection<ConceptDescriptor> getDescriptors() {
return Arrays.asList(myConceptApplicability, myConceptChangeEvent, myConceptDailyPlan, myConceptDailyPlanReference, myConceptDayRange, myConceptHeatingPlan, myConceptNotSpecified, myConceptSlot, myConceptSpecificDay, myConceptWeekDays, myConceptWeekendDay);
}
@Override
@Nullable
public ConceptDescriptor getDescriptor(SConceptId id) {
switch (myConceptIndex.index(id)) {
case LanguageConceptSwitch.Applicability:
return myConceptApplicability;
case LanguageConceptSwitch.ChangeEvent:
return myConceptChangeEvent;
case LanguageConceptSwitch.DailyPlan:
return myConceptDailyPlan;
case LanguageConceptSwitch.DailyPlanReference:
return myConceptDailyPlanReference;
case LanguageConceptSwitch.DayRange:
return myConceptDayRange;
case LanguageConceptSwitch.HeatingPlan:
return myConceptHeatingPlan;
case LanguageConceptSwitch.NotSpecified:
return myConceptNotSpecified;
case LanguageConceptSwitch.Slot:
return myConceptSlot;
case LanguageConceptSwitch.SpecificDay:
return myConceptSpecificDay;
case LanguageConceptSwitch.WeekDays:
return myConceptWeekDays;
case LanguageConceptSwitch.WeekendDay:
return myConceptWeekendDay;
default:
return null;
}
}
/*package*/ int internalIndex(SAbstractConcept c) {
return myConceptIndex.index(c);
}
private static ConceptDescriptor createDescriptorForApplicability() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.class_(false, true, false);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170414652");
return b.create();
}
private static ConceptDescriptor createDescriptorForChangeEvent() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "ChangeEvent", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aec62L);
b.class_(false, false, false);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/5063359128232717410");
b.prop("temperature", 0x4644aa4ce08aec70L, "5063359128232717424");
return b.create();
}
private static ConceptDescriptor createDescriptorForDailyPlan() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "DailyPlan", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aec4fL);
b.class_(false, false, false);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/5063359128232717391");
b.prop("displayName", 0x1dfff86fbfd92c74L, "2161719505004866676");
b.aggregate("items", 0x4644aa4ce08aec57L).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4f786d85fe288176L).optional(true).ordered(true).multiple(true).origin("5063359128232717399").done();
b.aggregate("applicability", 0x40bcae6c0e686ffeL).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL).optional(false).ordered(true).multiple(false).origin("4664795093170417662").done();
b.aggregate("customizes", 0xcfa085c9af881f8L).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0xcfa085c9af5e830L).optional(true).ordered(true).multiple(false).origin("935069066462790136").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForDailyPlanReference() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "DailyPlanReference", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0xcfa085c9af5e830L);
b.class_(false, false, false);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/935069066462619696");
b.associate("target", 0xcfa085c9af5e831L).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aec4fL).optional(false).origin("935069066462619697").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForDayRange() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "DayRange", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e6bc56bL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.heating.structure.Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170636139");
b.prop("start", 0x40bcae6c0e6bc59fL, "4664795093170636191");
b.prop("end", 0x40bcae6c0e6bc5a1L, "4664795093170636193");
b.alias("range");
return b.create();
}
private static ConceptDescriptor createDescriptorForHeatingPlan() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "HeatingPlan", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aa3f2L);
b.class_(false, false, true);
b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/5063359128232698866");
b.aggregate("dailyPlans", 0x4644aa4ce08aec4dL).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aec4fL).optional(true).ordered(true).multiple(true).origin("5063359128232717389").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForNotSpecified() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "NotSpecified", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68b8b8L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.heating.structure.Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170436280");
b.alias("not specified");
return b.create();
}
private static ConceptDescriptor createDescriptorForSlot() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "Slot", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4f786d85fe288176L);
b.class_(false, false, false);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/5726447348463731062");
b.prop("start", 0x4f786d85fe28827cL, "5726447348463731324");
b.aggregate("event", 0x4f786d85fe289dd1L).target(0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x4644aa4ce08aec62L).optional(false).ordered(true).multiple(false).origin("5726447348463738321").done();
return b.create();
}
private static ConceptDescriptor createDescriptorForSpecificDay() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "SpecificDay", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e6b4ea6L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.heating.structure.Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170605734");
b.prop("day", 0x40bcae6c0e6b4ea7L, "4664795093170605735");
b.alias("specific day");
return b.create();
}
private static ConceptDescriptor createDescriptorForWeekDays() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "WeekDays", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e6b4ea5L);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.heating.structure.Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170605733");
b.alias("week days");
return b.create();
}
private static ConceptDescriptor createDescriptorForWeekendDay() {
ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.samples.heating", "WeekendDay", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68b8faL);
b.class_(false, false, false);
b.super_("jetbrains.mps.samples.heating.structure.Applicability", 0xa7d67633e8d9473bL, 0x98ce995a7aa66941L, 0x40bcae6c0e68643cL);
b.origin("r:3b810168-3010-426e-9275-12b4e509a27b(jetbrains.mps.samples.heating.structure)/4664795093170436346");
b.alias("weekend day");
return b.create();
}
}