Java Reference
In-Depth Information
37. }
38. }
Example 3.13 Task.java
1. import java.util.ArrayList;
2. import java.util.Iterator;
3. public class Task implements ProjectItem{
4. private String name;
5. private String details;
6. private ArrayList projectItems = new ArrayList();
7. private Contact owner;
8. private double timeRequired;
9.
10. public Task(){ }
11. public Task(String newName, String newDetails,
12. Contact newOwner, double newTimeRequired){
13. name = newName;
14. details = newDetails;
15. owner = newOwner;
16. timeRequired = newTimeRequired;
17. }
18.
19. public String getName(){ return name; }
20. public String getDetails(){ return details; }
21. public ArrayList getProjectItems(){ return projectItems; }
22. public Contact getOwner(){ return owner; }
23. public double getTimeRequired(){
24. double totalTime = timeRequired;
25. Iterator items = projectItems.iterator();
26. while(items.hasNext()){
27. ProjectItem item = (ProjectItem)items.next();
28. totalTime += item.getTimeRequired();
29. }
30. return totalTime;
31. }
32.
33. public void setName(String newName){ name = newName; }
34. public void setDetails(String newDetails){ details = newDetails; }
35. public void setOwner(Contact newOwner){ owner = newOwner; }
36. public void setTimeRequired(double newTimeRequired){ timeRequired = newTimeRequired; }
37.
38. public void addProjectItem(ProjectItem element){
39. if (!projectItems.contains(element)){
40. projectItems.add(element);
41. }
42. }
43. public void removeProjectItem(ProjectItem element){
44. projectItems.remove(element);
45. }
46. }
The getTimeRequired method shows how the Composite pattern runs. To get the time estimate for any part of
the project, you simply call the method getTimeRequired for a Project or Task object. This method behaves
differently depending on the method implementer:
Deliverable : Return 0.
Project or Task : Return the sum of the time required for the object plus the results of calling the
getTimeRequired method for all ProjectItems associated with this node.
 
Search WWH ::




Custom Search