Package jetbrains.mps.smodel
Interface SModelInternal
- 
- All Superinterfaces:
 ModelWithDisposeInfo
- All Known Implementing Classes:
 CustomPersistenceModelWithHeader,CustomPersistenceSModel,DefaultSModelDescriptor,EditableModelDescriptor,EditableSModelBase,JavaClassStubModelDescriptor,LanguageDescriptorModelProvider.LanguageModelDescriptor,LazyEditableSModelBase,ProjectStructureModule.ProjectStructureSModelDescriptor,RegularModelDescriptor,SModelBase,SModelDescriptorStub,TransientModelsModule.TransientSModelDescriptor,TrivialModelDescriptor
public interface SModelInternal extends ModelWithDisposeInfo
Provisional interface our openapi.SModel implementations shall provide in order to manage model dependencies and internal housekeeping tasks (also for legacy model listeners, pending removal). We are not yet confident about API to add model dependencies (languages, models and alike), that's why we keep this separate, non-openapiinterface. Questions, among others, include whether we shall demand all models to support imports editing, how to specify dependencies (extra composite Dependency objects or plain SModelReference/SLanguage is ok), if this interface is intrinsic part of openapi.SModel or just comes with a help thereof (i.e. model.getDependencies() manager object), and how to dispatch change notifications. Please use utilityModelImportsinstead of cast to this class. 
- 
- 
Method Summary
- 
Methods inherited from interface jetbrains.mps.extapi.model.ModelWithDisposeInfo
getDisposedStacktrace, isDisposed 
 - 
 
 - 
 
- 
- 
Method Detail
- 
addModelListener
void addModelListener(@NotNull SModelListener listener)
 
- 
removeModelListener
void removeModelListener(@NotNull SModelListener listener)
 
- 
importedLanguageIds
Collection<SLanguage> importedLanguageIds()
 
- 
getLanguageImportVersion
int getLanguageImportVersion(SLanguage lang)
 
- 
importedDevkits
List<SModuleReference> importedDevkits()
 
- 
addDevKit
void addDevKit(SModuleReference ref)
 
- 
deleteDevKit
void deleteDevKit(@NotNull SModuleReference ref)
 
- 
getModelImports
@NotNull Collection<SModelReference> getModelImports()
- Returns:
 - collection of models this one depends from.
 
 
- 
addModelImport
void addModelImport(@NotNull SModelReference modelReference)
Tell one model depends from another.- Since:
 - 3.4
 
 
- 
deleteModelImport
void deleteModelImport(SModelReference modelReference)
 
- 
getLanguagesEngagedOnGeneration
@NotNull Collection<SLanguage> getLanguagesEngagedOnGeneration()
- Since:
 - 3.4
 
 
- 
addEngagedOnGenerationLanguage
void addEngagedOnGenerationLanguage(SLanguage lang)
 
- 
removeEngagedOnGenerationLanguage
void removeEngagedOnGenerationLanguage(SLanguage lang)
 
- 
updateExternalReferences
boolean updateExternalReferences(@NotNull SRepository repository)
Model has a chance to bring its external dependencies to a state manifested by supplied repository- Returns:
 trueif anything has been changed
 
- 
changeModelReference
void changeModelReference(SModelReference newModelReference)
 
 - 
 
 -