@startuml
skinparam classAttributeIconSize 0
skinparam style strictuml
hide circle

class WorkoutManager{
- exerciseManager : ExerciseManager
+ WorkoutManager(exerciseManager : ExerciseManager)
+ execute(parser : Parser) : String
- executeInfoAction(parser : Parser) : String
- executeListAction(parser : Parser) : String
- executeUnassignAction(parser : Parser) : String
- executeAssignAction(parser : Parser) : String
- executeDeleteAction(parser : Parser) : String
- executeCreateAction(parser : Parser) : String
}
WorkoutManager --|> ActivityManager
class HelpMenuManager{
+ HelpMenuManager()
+ printHelpGreeting() : String
+ execute(parser : Parser) : String
+ showExerciseCommand(parser : Parser) : String
+ showWorkoutCommand(parser : Parser) : String
+ showProgramCommand(parser : Parser) : String
}
class WeeklyProgramManager{
- exerciseManager : ExerciseManager
- workoutManager : WorkoutManager
- workoutLogsManager : WorkoutLogsManager
+ WeeklyProgramManager(exerciseManager : ExerciseManager, workoutManager : WorkoutManager, workoutLogsManager : WorkoutLogsManager)
+ getDay(day : String) : Day
+ execute(parser : Parser) : String
- executeListAction() : String
- executeAssignAction(parser : Parser) : String
- executeLogAction(parser : Parser) : String
- executeTodayAction() : String
- executeHistoryAction(parser : Parser) : String
- executeClearAction(parser : Parser) : String
+ exportToJSON() : JSONObject
}
WeeklyProgramManager --|> ActivityManager
class WorkoutLogsManager{
+ execute(parser : Parser) : String
+ addWorkoutLog(workoutLogDate : String, workoutName : String) : void
+ addExerciseLog(workoutLogDate : String, exerciseName : String, weight : String, sets : String, repetitions : String) : void
+ getWorkoutLogString(date : String, workoutLinkedHashSet : LinkedHashSet<Exercise>) : String
+ exportToJSON() : JSONArray
- {static} getWorkoutJson(exercises : LinkedHashSet<ExerciseLog>, workoutName : String, workoutDate : String) : JSONObject
}
WorkoutLogsManager --|> ActivityManager
class ExerciseManager{
+ execute(parser : Parser) : String
- executeEditAction(parser : Parser) : String
- executeListAction(parser : Parser) : String
- executeDeleteAction(parser : Parser) : String
- executeAddAction(parser : Parser) : String
- processAddExercise(parser : Parser) : Exercise
- retrieveExercise(parser : Parser) : Exercise
- processEditExercise(parser : Parser) : String
+ getActivityType(plural : boolean) : String
- executeSearchAction(parser : Parser) : String
}
ExerciseManager --|> ActivityManager
class ActivityManager{
# activityType : String
# activitySet : LinkedHashSet<Activity>
+ ActivityManager()
+ {abstract} execute(parser : Parser) : String
+ add(activity : Activity) : void
+ delete(activity : Activity) : void
+ retrieve(activityName : String) : Activity
+ getListString() : String
+ doesNotHaveActivity(activityName : String) : boolean
+ getActivityList() : ArrayList<Activity>
+ {abstract} getActivityType(plural : boolean) : String
+ getSearchResultsString(searchTerm : String) : String
- activityMatchesSearchTerm(activity : Activity, searchTerm : String) : boolean
- searchActivities(searchTerm : String) : ArrayList<Activity>
- stringify(searchResults : ArrayList<Activity>) : String
}
@enduml