View Javadoc

1   /** 2008, Digitalis Informatica. All rights reserved.
2    * 
3    * Distribuicao e Gestao de Informatica, Lda.
4    * Estrada de Paco de Arcos num.9 - Piso -1
5    * 2780-666 Paco de Arcos
6    * Telefone: (351) 21 4408990
7    * Fax: (351) 21 4408999
8    * http://www.digitalis.pt 
9    */
10  
11  package pt.digitalis.dif.dem.managers;
12  
13  import java.util.List;
14  import java.util.Map;
15  
16  import pt.digitalis.dif.dem.objects.issues.IssueScope;
17  import pt.digitalis.dif.dem.objects.issues.IssueType;
18  import pt.digitalis.dif.dem.objects.issues.UsageIssue;
19  
20  /**
21   * Defines the expected behavior for the usage issue manager.
22   * 
23   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a><br/>
24   * @created 2008/11/13
25   */
26  public interface IUsageIssuesManager {
27  
28      /**
29       * Adds an issue to the manager. Bean form.
30       * 
31       * @param usageIssue
32       *            the issue to add
33       */
34      public void addIssue(UsageIssue usageIssue);
35  
36      /**
37       * Adds an issue to the issue manager. Extended form.
38       * 
39       * @param issueType
40       *            the issue type
41       * @param issueScope
42       *            the issue scope
43       * @param location
44       *            the issue location
45       * @param issueDescription
46       *            the issue description
47       * @param exception
48       *            the exception that might associated to the issue
49       */
50      public void addIssue(IssueType issueType, IssueScope issueScope, String location, String issueDescription,
51              Exception exception);
52  
53      /**
54       * Returns all the issues on the manager.
55       * 
56       * @return the issues on the manager
57       */
58      public Map<String, List<UsageIssue>> getIssues();
59  
60      /**
61       * Returns the issues associated to the entity with the given UID.
62       * 
63       * @param entityUID
64       * @return the issues for the given entity unique ID
65       */
66      public List<UsageIssue> getIssues(String entityUID);
67  
68      /**
69       * Logs all issues associated to the entity with the given UID.
70       * 
71       * @param entityUID
72       *            the entity's UID
73       */
74      public void logIssues(String entityUID);
75  
76      /**
77       * Logs all issues on the manager by entity.
78       */
79      public void logAllIssuesByEntity();
80  
81      /**
82       * Logs all issues on the manager by type.
83       */
84      public void logAllIssuesByType();
85  
86      /**
87       * Returns T if there are issues on the manager, F otherwise.
88       * 
89       * @return T if there are issues on the manager, F otherwise
90       */
91      public boolean hasIssues();
92  
93      /**
94       * Returns T if there are issues for the given location, F otherwise.
95       * 
96       * @param location
97       *            the location
98       * @return T if there are issues related to the given location, F otherwise
99       */
100     public boolean hasIssues(String location);
101 
102 }