package jetbrains.mps.core.properties.textGen; /*Generated by MPS */ import jetbrains.mps.text.rt.TextGenAspectBase; import jetbrains.mps.core.properties.structure.LanguageConceptSwitch; import org.jetbrains.annotations.Nullable; import jetbrains.mps.text.rt.TextGenDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.text.rt.TextGenModelOutline; import org.jetbrains.mps.openapi.model.SNode; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import java.nio.charset.Charset; public class TextGenAspectDescriptor extends TextGenAspectBase { private final LanguageConceptSwitch myIndex = new LanguageConceptSwitch(); public TextGenAspectDescriptor() { } @Nullable @Override public TextGenDescriptor getDescriptor(@NotNull SAbstractConcept concept) { switch (myIndex.index(concept)) { case LanguageConceptSwitch.PropertiesComment: return new PropertiesComment_TextGen(); case LanguageConceptSwitch.PropertiesDeclaration: return new PropertiesDeclaration_TextGen(); case LanguageConceptSwitch.PropertiesFile: return new PropertiesFile_TextGen(); case LanguageConceptSwitch.PropertiesLine: return new PropertiesLine_TextGen(); } return null; } @Override public void breakdownToUnits(@NotNull TextGenModelOutline outline) { for (SNode root : outline.getModel().getRootNodes()) { if (root.getConcept().equals(MetaAdapterFactory.getConcept(0x58f98fef90ad4b72L, 0xa390fad66ec7005aL, 0x36fb0dc9fd3a2754L, "jetbrains.mps.core.properties.structure.PropertiesFile"))) { String fname = getFileName_PropertiesFile(root); String ext = getFileExtension_PropertiesFile(root); outline.registerTextUnit((ext == null ? fname : (fname + '.' + ext)), Charset.forName(getEncoding_PropertiesFile()), root); continue; } } } private static String getFileName_PropertiesFile(SNode node) { return node.getName(); } private static String getFileExtension_PropertiesFile(SNode node) { return "properties"; } private static String getEncoding_PropertiesFile() { return "ISO-8859-1"; } }