@@ -7,6 +7,7 @@ participant ":AddressBookParser" as AddressBookParser LOGIC_COLOR
77participant ":FilterCustomerCommandParser" as FilterCustomerCommandParser LOGIC_COLOR
88participant ":Budget" as Budget LOGIC_COLOR
99participant ":Tag" as Tag LOGIC_COLOR
10+ participant "descriptor:FilterCustomerDescriptor" as FilterCustomerDescriptor LOGIC_COLOR
1011participant ":BudgetAndTagsInRangePredicate" as BudgetAndTagsInRangePredicate LOGIC_COLOR
1112participant "command:FilterCustomerCommand" as FilterCustomerCommand LOGIC_COLOR
1213participant ":CommandResult" as CommandResult LOGIC_COLOR
@@ -32,27 +33,48 @@ deactivate FilterCustomerCommandParser
3233AddressBookParser -> FilterCustomerCommandParser : parse("b/100000 c/pink")
3334activate FilterCustomerCommandParser
3435
36+ create FilterCustomerDescriptor
37+ FilterCustomerCommandParser -> FilterCustomerDescriptor : new FilterCustomerDescriptor
38+ activate FilterCustomerDescriptor
39+
40+ FilterCustomerDescriptor --> FilterCustomerCommandParser : descriptor
41+ deactivate FilterCustomerDescriptor
42+
3543create Budget
3644FilterCustomerCommandParser -> Budget : new Budget(100000)
3745activate Budget
3846
3947Budget --> FilterCustomerCommandParser : budget
4048deactivate Budget
4149
50+ FilterCustomerCommandParser -> FilterCustomerDescriptor : setBudget(budget)
51+ activate FilterCustomerDescriptor
52+ deactivate FilterCustomerDescriptor
53+
4254create Tag
4355FilterCustomerCommandParser -> Tag : new Tag("pink")
4456activate Tag
4557
4658Tag --> FilterCustomerCommandParser : tag
4759deactivate Tag
4860
61+ FilterCustomerCommandParser -> FilterCustomerDescriptor : setTags(tags)
62+ activate FilterCustomerDescriptor
63+ deactivate FilterCustomerDescriptor
64+
65+ FilterCustomerCommandParser -> FilterCustomerDescriptor : getPredicate()
66+ activate FilterCustomerDescriptor
67+
4968create BudgetAndTagsInRangePredicate
50- FilterCustomerCommandParser -> BudgetAndTagsInRangePredicate : new BudgetAndTagsInRangePredicate(budget, tags)
69+ FilterCustomerDescriptor -> BudgetAndTagsInRangePredicate : new BudgetAndTagsInRangePredicate(budget, tags)
5170activate BudgetAndTagsInRangePredicate
5271
53- BudgetAndTagsInRangePredicate --> FilterCustomerCommandParser : budgetAndTagsInRangePredicate
72+ BudgetAndTagsInRangePredicate --> FilterCustomerDescriptor : budgetAndTagsInRangePredicate
5473deactivate BudgetAndTagsInRangePredicate
5574
75+ FilterCustomerDescriptor --> FilterCustomerCommandParser : budgetAndTagsInRangePredicate
76+ deactivate FilterCustomerDescriptor
77+
5678create FilterCustomerCommand
5779FilterCustomerCommandParser -> FilterCustomerCommand : new FilterCustomerCommand(budgetAndTagsInRangePredicate)
5880activate FilterCustomerCommand
0 commit comments