diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index b2d807b9cd0..00000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "java.configuration.updateBuildConfiguration": "interactive", - "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable" -} diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index ff35ce2b6b4..17ce7c7cf72 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -238,6 +238,23 @@ _{more aspects and alternatives to be added}_ _{Explain here how the data archiving feature will be implemented}_ +### Many-to-many relationship between `Person` and `Task` + +#### Implementation + +The implementation of the contact-task relation is facilitated by `PersonTaskBridge` and `PersonTaskBridgeList`. + +`PersonTaskBridge` is a class containing a `Person`'s ID and a `Task`'s ID, representing a relation between a `Person` and a `Task`. + +`PersonTaskBridgeList` is a class containing a list of `PersonTaskBridge` objects, representing all the relations between `Person` and `Task` objects in the `AddressBook`. Additionally, it implements the following operations: + +* `PersonTaskBridgeList#add(PersonTaskBridge)` - Saves a new relation between a `Person` and a `Task` in the list. +* `PersonTaskBridgeList#remove(PersonTaskBridge)` - Removes an existing relation between a `Person` and a `Task` from the list. +* `PersonTaskBridgeList#removePerson(Person)` and `PersonTaskBridgeList#removeTask(Task)` - Removes all existing relations between a `Person` and `Task` objects from the list. + +These operations will be exposed in the `Model` interface. + + -------------------------------------------------------------------------------------------------------------------- diff --git a/docs/images/PersonTaskBridgeDiagram.png b/docs/images/PersonTaskBridgeDiagram.png new file mode 100644 index 00000000000..24b7a4afa61 Binary files /dev/null and b/docs/images/PersonTaskBridgeDiagram.png differ