Package jetbrains.mps.smodel
Class TrivialModelDescriptor
- java.lang.Object
 - 
- jetbrains.mps.extapi.model.SModelDescriptorStub
 - 
- jetbrains.mps.extapi.model.SModelBase
 - 
- jetbrains.mps.smodel.TrivialModelDescriptor
 
 
 
 
- 
- All Implemented Interfaces:
 ModelWithDisposeInfo,FastNodeFinder.Factory,SModelInternal,SModel
- Direct Known Subclasses:
 LanguageDescriptorModelProvider.LanguageModelDescriptor
public class TrivialModelDescriptor extends SModelBase
Model openapi.SModel implementation to parasitize on (utilize) existing SModelBase and smodel.SModel classes. It takes existing SModelData and provides it to outer world through openapi.SModel. Perhaps, parts of SModelBase could move to SModelDescriptorStub, and this class could use SModelDescriptorStub then. FIXME move to [smodel] once SModelBase cease to depend on [kernel] stuff FIXME why doesn't it support add/remove root operations? Was it intentional, or just overlook? 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.jetbrains.mps.openapi.model.SModel
SModel.Problem 
 - 
 
- 
Constructor Summary
Constructors Constructor Description TrivialModelDescriptor(SModel modelData) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoUnload()Perform actual dispose of model data andSModelBase.setLoadingState(ModelLoadingState)changes loading state}.protected SModelgetCurrentModelInternal()Likely, shall return SModelData eventuallySModelgetSModelInternal()Migration to 3.0.- 
Methods inherited from class jetbrains.mps.extapi.model.SModelBase
addAccessListener, addChangeListener, addModelListener, addRootNode, assertCanChange, assertCanRead, attach, changeModelReference, createNode, createNode, detach, fireBeforeModelRenamed, fireConflictDetected, fireModelRenamed, fireModelReplaced, fireModelSaved, fireModelStateChanged, fireProblemsDetected, getLoadingState, getModelData, getModelId, getModelName, getModelRoot, getModule, getName, getNode, getNodeEventDispatch, getProblems, getReference, getRepository, getRootNodes, getSource, isLoaded, isReadOnly, load, removeAccessListener, removeChangeListener, removeModelListener, removeRootNode, replaceModelAndFireEvent, setLoadingState, setModelRoot, setModule, unload 
- 
Methods inherited from class jetbrains.mps.extapi.model.SModelDescriptorStub
addDevKit, addEngagedOnGenerationLanguage, addLanguage, addModelImport, addModelListener, clearListeners, createNodeFinder, deleteDevKit, deleteLanguageId, deleteModelImport, fireBeforeModelDisposed, fireBeforeModelFileChanged, fireBeforeModelRenamed, fireModelFileChanged, fireModelRenamed, fireModelStateChanged, getDisposedStacktrace, getLanguageImportVersion, getLanguagesEngagedOnGeneration, getModelDepsManager, getModelImports, getModelListeners, getSModel, importedDevkits, importedLanguageIds, isDisposed, removeEngagedOnGenerationLanguage, removeModelListener, setLanguageImportVersion, updateExternalReferences 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getSModelInternal
public SModel getSModelInternal()
Description copied from class:SModelDescriptorStubMigration to 3.0. Loads and returns model data. FIXME Replace uses of this method with getSModel(), make it abstract and implement in SModelBase subclasses. The name getSModelInternal is misleading as it clashes with SModelInternal interface this class implements. Though getSModel is not much better, at least in the context of SModelDescriptor it makes more sense.- Specified by:
 getSModelInternalin classSModelDescriptorStub
 
- 
getCurrentModelInternal
@Nullable protected SModel getCurrentModelInternal()
Description copied from class:SModelBaseLikely, shall return SModelData eventually- Specified by:
 getCurrentModelInternalin classSModelBase- Returns:
 - actual model data or 
nullif not initialized yet 
 
- 
doUnload
protected void doUnload()
Description copied from class:SModelBasePerform actual dispose of model data andSModelBase.setLoadingState(ModelLoadingState)changes loading state}. No loading state event is sent (responsibility ofSModelBase.unload(). Subclasses shall override to clean instance fields and generally shall delegate to this implementation first to dispose model data.- Overrides:
 doUnloadin classSModelBase
 
 - 
 
 -