org.eclipse.viatra.dse.solutionstore

## Class SolutionStore

- java.lang.Object
- - org.eclipse.viatra.dse.solutionstore.SolutionStore

-     public class SolutionStore
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SolutionStore.ANumberOfEnoughSolutions`
    `static class` | `SolutionStore.BestSolutionSaver`
    `static interface` | `SolutionStore.IEnoughSolutions`
    `static interface` | `SolutionStore.ISolutionSaver`
    `static class` | `SolutionStore.SimpleSolutionSaver`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `acceptOnlyGoalSolutions`
    `protected SolutionStore.IEnoughSolutions` | `enoughSolutions`
    `protected java.util.List<ISolutionFoundHandler>` | `solutionFoundHandlers`
    `protected java.util.Map<java.lang.Object,Solution>` | `solutions`
    `protected SolutionStore.ISolutionSaver` | `solutionSaver`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SolutionStore()`
    `SolutionStore(int numOfSolutionsToFind)`
    `SolutionStore(SolutionStore.IEnoughSolutions enoughSolutionsImpl)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SolutionStore` | `acceptAnySolutions()`
    `SolutionStore` | `acceptGoalSolutionsOnly()`
    `java.util.Collection<Solution>` | `getSolutions()`
    `SolutionStore` | `logSolutionsWhenFound()`
    `void` | `newSolution(ThreadContext context)`
    `void` | `registerSolutionFoundHandler(ISolutionFoundHandler handler)`
    `void` | `saveModels(org.eclipse.emf.common.notify.Notifier model, ISolutionNameProvider solutionNameProvider)`
    `SolutionStore` | `saveModelWhenFound()`
    `SolutionStore` | `saveModelWhenFound(ISolutionNameProvider solutionNameProvider)`
    `SolutionStore` | `saveModelWhenFound(java.lang.String extension)`
    `SolutionStore` | `saveModelWhenFound(java.lang.String prefix, java.lang.String extension)`
    `SolutionStore` | `storeBestSolutionsOnly()`
    `SolutionStore` | `withSolutionSaver(SolutionStore.ISolutionSaver solutionSaver)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### acceptOnlyGoalSolutions

          protected boolean acceptOnlyGoalSolutions

    - #### solutions

          protected final java.util.Map<java.lang.Object,Solution> solutions

    - #### solutionSaver

          protected SolutionStore.ISolutionSaver solutionSaver

    - #### solutionFoundHandlers

          protected java.util.List<ISolutionFoundHandler> solutionFoundHandlers

    - #### enoughSolutions

          protected final SolutionStore.IEnoughSolutions enoughSolutions

  - ### Constructor Detail

    - #### SolutionStore

          public SolutionStore()

    - #### SolutionStore

          public SolutionStore(int numOfSolutionsToFind)

    - #### SolutionStore

          public SolutionStore(SolutionStore.IEnoughSolutions enoughSolutionsImpl)

  - ### Method Detail

    - #### newSolution

          public void newSolution(ThreadContext context)

    - #### getSolutions

          public java.util.Collection<Solution> getSolutions()

    - #### registerSolutionFoundHandler

          public void registerSolutionFoundHandler(ISolutionFoundHandler handler)

    - #### logSolutionsWhenFound

          public SolutionStore logSolutionsWhenFound()

    - #### saveModelWhenFound

          public SolutionStore saveModelWhenFound()

    - #### saveModelWhenFound

          public SolutionStore saveModelWhenFound(java.lang.String extension)

    - #### saveModelWhenFound

          public SolutionStore saveModelWhenFound(java.lang.String prefix,
                                                  java.lang.String extension)

    - #### saveModelWhenFound

          public SolutionStore saveModelWhenFound(ISolutionNameProvider solutionNameProvider)

    - #### acceptGoalSolutionsOnly

          public SolutionStore acceptGoalSolutionsOnly()

    - #### acceptAnySolutions

          public SolutionStore acceptAnySolutions()

    - #### withSolutionSaver

          public SolutionStore withSolutionSaver(SolutionStore.ISolutionSaver solutionSaver)

    - #### storeBestSolutionsOnly

          public SolutionStore storeBestSolutionsOnly()

    - #### saveModels

          public void saveModels(org.eclipse.emf.common.notify.Notifier model,
                                 ISolutionNameProvider solutionNameProvider)