package jetbrains.mps.generator.test.xmodel.lang1.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 myConceptBean = createDescriptorForBean(); /*package*/ final ConceptDescriptor myConceptOperation = createDescriptorForOperation(); /*package*/ final ConceptDescriptor myConceptProperty = createDescriptorForProperty(); private final LanguageConceptSwitch myConceptIndex; public StructureAspectDescriptor() { myConceptIndex = new LanguageConceptSwitch(); } @Override public Collection<ConceptDescriptor> getDescriptors() { return Arrays.asList(myConceptBean, myConceptOperation, myConceptProperty); } @Override @Nullable public ConceptDescriptor getDescriptor(SConceptId id) { switch (myConceptIndex.index(id)) { case LanguageConceptSwitch.Bean: return myConceptBean; case LanguageConceptSwitch.Operation: return myConceptOperation; case LanguageConceptSwitch.Property: return myConceptProperty; default: return null; } } /*package*/ int internalIndex(SAbstractConcept c) { return myConceptIndex.index(c); } private static ConceptDescriptor createDescriptorForBean() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.generator.test.xmodel.lang1", "Bean", 0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f4bL); b.class_(false, false, true); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L); b.origin("r:5bb332e4-50df-4f1b-a6f0-dc360c0111d5(jetbrains.mps.generator.test.xmodel.lang1.structure)/7618674748894117707"); b.aggregate("props", 0x69baf85193128b70L).target(0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f4eL).optional(true).ordered(true).multiple(true).origin("7618674748894120816").done(); b.aggregate("ops", 0x69baf85193128b72L).target(0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f51L).optional(true).ordered(true).multiple(true).origin("7618674748894120818").done(); return b.create(); } private static ConceptDescriptor createDescriptorForOperation() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.generator.test.xmodel.lang1", "Operation", 0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f51L); b.class_(false, false, false); b.origin("r:5bb332e4-50df-4f1b-a6f0-dc360c0111d5(jetbrains.mps.generator.test.xmodel.lang1.structure)/7618674748894117713"); b.prop("value", 0x69baf85193127f52L, "7618674748894117714"); b.associate("bean", 0x69baf85193128b75L).target(0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f4bL).optional(false).origin("7618674748894120821").done(); b.associate("prop", 0x69baf85193128b7bL).target(0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f4eL).optional(false).origin("7618674748894120827").done(); return b.create(); } private static ConceptDescriptor createDescriptorForProperty() { ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.generator.test.xmodel.lang1", "Property", 0xb2d9d19b9a4747a4L, 0x93f40c9390001bf2L, 0x69baf85193127f4eL); b.class_(false, false, false); b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L); b.origin("r:5bb332e4-50df-4f1b-a6f0-dc360c0111d5(jetbrains.mps.generator.test.xmodel.lang1.structure)/7618674748894117710"); return b.create(); } }