Class ProductLineProject

java.lang.Object
net.ssehub.easy.producer.core.mgmt.PLPInfo
net.ssehub.easy.producer.core.mgmt.GenericProductLineProject
net.ssehub.easy.producer.eclipse.model.ProductLineProject
All Implemented Interfaces:
net.ssehub.easy.basics.modelManagement.IModelListener<net.ssehub.easy.instantiation.core.model.buildlangModel.Script>, net.ssehub.easy.instantiation.core.model.IInstantiatorProject

public class ProductLineProject extends net.ssehub.easy.producer.core.mgmt.GenericProductLineProject
This class holds all models, controllers and attributes (which are not stored in a model) related to one product lien project.
Since:
20.09.2011
Author:
El-Sharkawy, Hundt, Kapeluch, Brauch
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLogger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    ProductLineProject(String projectname, File projectLocation)
    This constructor is for the creation of a new product line project.
    ProductLineProject(String projectID, String projectName, net.ssehub.easy.producer.core.varMod.container.ProjectContainer project, File projectLocation, net.ssehub.easy.producer.core.varMod.container.ScriptContainer mainBuildScript)
    This constructor is needed, if a saved plp is read by the persistence layer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    createNewModel(net.ssehub.easy.basics.modelManagement.Version version)
    Creates a new model for the project.
    void
    reason(net.ssehub.easy.reasoning.core.reasoner.ReasoningOperation desiredOperation, net.ssehub.easy.reasoning.core.frontend.IReasonerListener listener)
     
    void
     
    void
    Refreshes all artifacts on file level.
    void
    Saves the data of this project persistently to file system.

    Methods inherited from class net.ssehub.easy.producer.core.mgmt.GenericProductLineProject

    isTransformable, pullConfigFromPredecessors, registerObserver, unRegisterObserver

    Methods inherited from class net.ssehub.easy.producer.core.mgmt.PLPInfo

    abortInstantiation, addScriptImport, addVilExecutionListener, buildScriptWasEdited, close, configurationPulled, createMainRule, createReasoningProcess, getBuildScript, getConfigLocation, getConfiguration, getHighestVersion, getMemberController, getParsingExceptions, getPathConfiguration, getPredecessorLocations, getProject, getProjectContainer, getProjectID, getProjectLocation, getProjectName, getReasonerConfig, getSaveDebugInformation, getScriptContainer, getScriptLocation, getSuccessorLocations, getTemplateLocation, getVersion, hasDefaultMainBuildScript, instantiate, instantiate, instantiate, instantiate, isPreliminary, isSaveable, isTransformableVIL, listAvailableModels, notifyReplaced, register, removeVilExecutionListener, setBuildScript, setMainModel, setPredecessors, setProject, setReasonerConfig, setSaveDebugInformation, toString, unregister

    Methods inherited from class java.lang.Object

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

    • LOGGER

      private static final net.ssehub.easy.basics.logger.EASyLoggerFactory.EASyLogger LOGGER
  • Constructor Details

    • ProductLineProject

      public ProductLineProject(String projectname, File projectLocation)
      This constructor is for the creation of a new product line project.
      Parameters:
      projectname - The name of the new created product line project
      projectLocation - The top level location of the whole ProductLineProject
    • ProductLineProject

      public ProductLineProject(String projectID, String projectName, net.ssehub.easy.producer.core.varMod.container.ProjectContainer project, File projectLocation, net.ssehub.easy.producer.core.varMod.container.ScriptContainer mainBuildScript)
      This constructor is needed, if a saved plp is read by the persistence layer.
      Parameters:
      projectID - The ID of the product line project
      projectName - The name of the product line project
      project - An already existent variability model for this ProductLineProject.
      projectLocation - The top level location of the whole ProductLineProject
      mainBuildScript - The main build script for building the project (starting point of the instantiation).
  • Method Details

    • save

      public void save()
      Saves the data of this project persistently to file system.
      Overrides:
      save in class net.ssehub.easy.producer.core.mgmt.GenericProductLineProject
    • reason

      public void reason(net.ssehub.easy.reasoning.core.reasoner.ReasoningOperation desiredOperation, net.ssehub.easy.reasoning.core.frontend.IReasonerListener listener)
      Overrides:
      reason in class net.ssehub.easy.producer.core.mgmt.PLPInfo
    • createNewModel

      public void createNewModel(net.ssehub.easy.basics.modelManagement.Version version) throws net.ssehub.easy.producer.core.persistence.PersistenceException
      Creates a new model for the project.
      Overrides:
      createNewModel in class net.ssehub.easy.producer.core.mgmt.GenericProductLineProject
      Parameters:
      version - The Version that is to be used for the new model.
      Throws:
      net.ssehub.easy.producer.core.persistence.PersistenceException - If the file cannot be written to the file system.
    • refresh

      public void refresh()
      Overrides:
      refresh in class net.ssehub.easy.producer.core.mgmt.PLPInfo
    • refreshArtifacts

      public void refreshArtifacts()
      Refreshes all artifacts on file level.