package jetbrains.mps.smodel.persistence.def.v8; /*Generated by MPS */ import jetbrains.mps.smodel.persistence.def.IModelPersistence; import jetbrains.mps.persistence.xml.XMLPersistence; import jetbrains.mps.smodel.persistence.def.IModelWriter; import org.jetbrains.annotations.Nullable; import jetbrains.mps.smodel.SModelHeader; import jetbrains.mps.smodel.persistence.def.IHashProvider; import jetbrains.mps.util.xml.XMLSAXHandler; import jetbrains.mps.smodel.loading.ModelLoadResult; import jetbrains.mps.smodel.loading.ModelLoadingState; import java.util.List; import jetbrains.mps.smodel.persistence.lines.LineContent; import org.jetbrains.annotations.NotNull; import jetbrains.mps.persistence.IndexAwareModelFactory; import java.io.Reader; import java.io.IOException; import jetbrains.mps.smodel.persistence.def.v9.Indexer9; public class ModelPersistence8 implements IModelPersistence, XMLPersistence { public static final String ROOT_NODE = "root"; @Override public int getVersion() { return 8; } @Override public IModelWriter getModelWriter(@Nullable SModelHeader header) { return null; } @Override public IHashProvider getHashProvider() { return new HashProvider8(); } @Override public XMLSAXHandler<ModelLoadResult> getModelReaderHandler(ModelLoadingState state, SModelHeader header) { return new ModelReader8Handler(state == ModelLoadingState.INTERFACE_LOADED, state == ModelLoadingState.NO_IMPLEMENTATION, header); } @Override public XMLSAXHandler<List<LineContent>> getLineToContentMapReaderHandler() { return new LineToContentMapReader8Handler(); } @Nullable @Override public XMLPersistence.Indexer getIndexSupport(@NotNull final IndexAwareModelFactory.Callback callback) { return new XMLPersistence.Indexer() { @Override public void index(@NotNull Reader input) throws IOException { PersistenceUtil.index(Indexer9.getChars(input), callback); } }; } }