Class VarModel

java.lang.Object
net.ssehub.easy.basics.modelManagement.ModelManagement<Project>
net.ssehub.easy.varModel.management.VarModel

public class VarModel extends net.ssehub.easy.basics.modelManagement.ModelManagement<Project>
The variability model, the central class holding all project instances and being responsible for import resolution. Model loading is done by plugins of type IModelLoader. Public access shall be synchronized (in any way) as multiple source parts and tools may access the information concurrently. Please note that specific information and settings are available via ModelManagement.availableModels(), comments(), ModelManagement.events(), ModelManagement.loaders(), ModelManagement.locale() and ModelManagement.locations(). The variability model needs a loader and a location to operate. After providing this information, available IVML projects can be accessed via ModelManagement.availableModels().
Author:
Marcel Lueder, Holger Eichelberger
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static class 
    Refined model repository for IVML.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
    static final VarModel
    Stores the singleton instance.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Singleton.
  • Method Summary

    Modifier and Type
    Method
    Description
    Provides access to the comments persistencer.
    protected net.ssehub.easy.basics.modelManagement.ModelRepository<Project>
     
    protected net.ssehub.easy.basics.modelManagement.ImportResolver<Project>
     
    protected void
    postLoadModel(net.ssehub.easy.basics.modelManagement.ModelInfo<Project> info)
    Additional code to be executed after a model was loaded.

    Methods inherited from class net.ssehub.easy.basics.modelManagement.ModelManagement

    addProjectFolder, availableModels, clear, clearModel, clearModel, clearModels, clearProjectFolders, events, getAvailable, getMatchingModelNames, getModel, getModelCount, getResolverFromPool, isInProjectFolder, isLoading, isLoading, isOutdated, isOutdated, load, loaders, locale, locations, notifyLoadingCompleted, outdateAll, releaseResolver, reload, reload, removeProjectFolder, repository, resolve, resolveImports, resolveImports, resolveImports, resolveImports, setOutdated, setOutdated, unload, updateModel, updateModel, updateModel, updateModelInformation, updateModelInformation

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • VarModel

      private VarModel()
      Singleton.
  • Method Details

    • createRepository

      protected net.ssehub.easy.basics.modelManagement.ModelRepository<Project> createRepository()
      Specified by:
      createRepository in class net.ssehub.easy.basics.modelManagement.ModelManagement<Project>
    • comments

      public ModelCommentsPersistencer comments()
      Provides access to the comments persistencer. For future compatibility, please store the returned instance just for temporary purposes within a method and not for long-term use in an attribute etc.
      Returns:
      the events object
    • postLoadModel

      protected void postLoadModel(net.ssehub.easy.basics.modelManagement.ModelInfo<Project> info) throws IOException
      Additional code to be executed after a model was loaded.
      Overrides:
      postLoadModel in class net.ssehub.easy.basics.modelManagement.ModelManagement<Project>
      Parameters:
      info - the information object describing the model
      Throws:
      IOException - in case that loading fails - however, model loading will not fail
    • createResolver

      protected net.ssehub.easy.basics.modelManagement.ImportResolver<Project> createResolver()
      Specified by:
      createResolver in class net.ssehub.easy.basics.modelManagement.ModelManagement<Project>