Package pl.put.poznan.sqc.domain
Class SQCService
- java.lang.Object
-
- pl.put.poznan.sqc.domain.SQCService
-
public class SQCService extends Object
A service that contains the application's state (a scenario) and provides access to the app's various functionalities (visitors) via public methods.- See Also:
Scenario,StepCounter,KeywordCounter
-
-
Constructor Summary
Constructors Constructor Description SQCService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HashMap<String,Integer>getActorCountMap()Runs a ActorCount visitor on the stored scenario.ArrayList<String>getActorlessSteps()Runs a ActorlessAccumulator visitor on the stored scenario.intgetKeywordCount()Runs a KeywordCounter visitor on the stored scenario.ArrayList<String>getLonelyActorsList()Runs a ActorCount visitor on the stored scenario.intgetStepCount()Runs a StepCounter visitor on the stored scenario.StringgetToDepth(int depth)Get scenario as JSON, but only upto a certain depth.booleanhasScenario()Tests if there is a scenario loaded.voidremoveScenario()Deletes the stored scenario.voidsetScenario(String jsonString)Sets a scenario based on a String.voidsetScenario(Scenario scenario)Sets a scenario based on a Scenario class.
-
-
-
Method Detail
-
setScenario
public void setScenario(Scenario scenario)
Sets a scenario based on a Scenario class.- Parameters:
scenario- the scenario (as a Scenario instance) that will be stored as the application's state.- See Also:
Scenario,setScenario(String),getScenario()
-
setScenario
public void setScenario(String jsonString) throws InvalidScenarioException, org.json.simple.parser.ParseException
Sets a scenario based on a String.- Parameters:
jsonString- the scenario (as a stringified JSON) that will be stored as the application's state (it will be converted to a Scenario object).- Throws:
InvalidScenarioExceptionorg.json.simple.parser.ParseException- See Also:
Scenario,JSONConverter,setScenario(Scenario),getScenario()
-
hasScenario
public boolean hasScenario()
Tests if there is a scenario loaded.- Returns:
- true if the SQCService has a scenario set | false
- See Also:
getScenario(),setScenario(Scenario),setScenario(String)
-
removeScenario
public void removeScenario()
Deletes the stored scenario.
-
getStepCount
public int getStepCount() throws MissingScenarioErrorRuns a StepCounter visitor on the stored scenario.- Returns:
- the number of steps in the stored scenario.
- Throws:
MissingScenarioError- if no scenario is stored- See Also:
StepCounter
-
getKeywordCount
public int getKeywordCount() throws MissingScenarioErrorRuns a KeywordCounter visitor on the stored scenario.- Returns:
- the number of keywords in the stored scenario.
- Throws:
MissingScenarioError- if no scenario is stored- See Also:
KeywordCounter
-
getActorlessSteps
public ArrayList<String> getActorlessSteps() throws MissingScenarioError
Runs a ActorlessAccumulator visitor on the stored scenario.- Returns:
- a list of step texts where no actor begins the step.
- Throws:
MissingScenarioError- if no scenario is stored- See Also:
ActorlessAccumulator
-
getActorCountMap
public HashMap<String,Integer> getActorCountMap() throws MissingScenarioError
Runs a ActorCount visitor on the stored scenario.- Throws:
MissingScenarioError- if no scenario is stored- See Also:
ActorCount
-
getLonelyActorsList
public ArrayList<String> getLonelyActorsList() throws MissingScenarioError
Runs a ActorCount visitor on the stored scenario.- Returns:
- a map of: actor → number of steps in which they take part
- Throws:
MissingScenarioError- if no scenario is stored- See Also:
ActorCount
-
getToDepth
public String getToDepth(int depth) throws MissingScenarioError
Get scenario as JSON, but only upto a certain depth.- Parameters:
depth- the depth- Returns:
- the JSON
- Throws:
MissingScenarioError- if no scenario is stored
-
-