Java Reference
In-Depth Information
1. import java.io.Serializable;
2. public interface ProjectItem extends Serializable{
3. public static final String EOL_STRING = System.getProperty("line.separator");
4. public double getTimeRequired();
5. }
Task and Deliverable implement ProjectItem and provide the basic project functionality. As in previous
demonstrations, Task represents some job in a project and Deliverable represents some concrete product.
Example 3.15 Deliverable.java
1. public class Deliverable implements ProjectItem{
2. private String name;
3. private String description;
4. private Contact owner;
5.
6. public Deliverable(){ }
7. public Deliverable(String newName, String newDescription,
8. Contact newOwner){
9. name = newName;
10. description = newDescription;
11. owner = newOwner;
12. }
13.
14. public String getName(){ return name; }
15. public String getDescription(){ return description; }
16. public Contact getOwner(){ return owner; }
17. public double getTimeRequired(){ return 0; }
18.
19. public void setName(String newName){ name = newName; }
20. public void setDescription(String newDescription){ description = newDescription; }
21. public void setOwner(Contact newOwner){ owner = newOwner; }
22.
23. public String toString(){
24. return "Deliverable: " + name;
25. }
26. }
Example 3.16 Task.java
1. import java.util.ArrayList;
2. import java.util.Iterator;
3. public class Task implements ProjectItem{
4. private String name;
5. private ArrayList projectItems = new ArrayList();
6. private Contact owner;
7. private double timeRequired;
8.
9. public Task(){ }
10. public Task(String newName, Contact newOwner,
11. double newTimeRequired){
12. name = newName;
13. owner = newOwner;
14. timeRequired = newTimeRequired;
15. }
16.
17. public String getName(){ return name; }
18. public ArrayList getProjectItems(){ return projectItems; }
19. public Contact getOwner(){ return owner; }
20. public double getTimeRequired(){
21. double totalTime = timeRequired;
22. Iterator items = projectItems.iterator();
23. while(items.hasNext()){
24. ProjectItem item = (ProjectItem)items.next();
25. totalTime += item.getTimeRequired();
26. }
27. return totalTime;
28. }
29.
30. public void setName(String newName){ name = newName; }
31. public void setOwner(Contact newOwner){ owner = newOwner; }
32. public void setTimeRequired(double newTimeRequired){ timeRequired = newTimeRequired; }
33.
34. public void addProjectItem(ProjectItem element){
35. if (!projectItems.contains(element)){
36. projectItems.add(element);
37. }
38. }
Search WWH ::




Custom Search