Skip to content

Commit

Permalink
Add tier/status special predicate
Browse files Browse the repository at this point in the history
  • Loading branch information
itsme-zeix committed Nov 11, 2024
1 parent 273d968 commit 362e119
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,14 +243,16 @@ The `filter` command is used to view a specific subset of clients by applying sp
The following diagrams provide a high-level overview of the `filter` command's logic flow:
![FilterActivityDiagramInputValidation.png](images/FilterActivityDiagramInputValidation.png)
![FilterActivityDiagramFilterAndDisplay.png](images/FilterActivityDiagramFilterAndDisplay.png)
Note: The sequence diagram has been omitted due to its complexity.
**Note:** The sequence diagram has been omitted due to its complexity.

The filter command performs two primary checks:
- **Flag Validation:** Checks there are no invalid flags, no duplicate flags, and that at least one valid flag is specified.
- **Argument Validation:** Checks that the argument values provided for each flag meet the required parsing criteria (as outlined in the User Guide).

Once these validations are complete, each valid flag and its corresponding argument are used to create a specific `Predicate` object (e.g., `NameContainsSubstringPredicate`, `AddressContainsSubstringPredicate`). These predicates are then combined to form a `CombinedPredicate` object.

- **Note:** `tier` and `status` use `TierStartsWithSubstringPredicate` and `StatusStartsWithSubstringPredicate` respectively, allowing partial matches based on the start of the provided substring.

The `CombinedPredicate` is applied to each client in AgentAssist, evaluating whether the client meets all filter criteria. Clients that satisfy the criteria are added to the filtered list. After all clients are evaluated, the filtered client list is displayed.


Expand Down

0 comments on commit 362e119

Please sign in to comment.