1 /***
2 * Created on Jun 13, 2005, Copyright UC Regents
3 */
4 package org.telscenter.pas.beans;
5
6 import java.util.List;
7 import java.util.Map;
8
9 import javax.swing.JLabel;
10 import javax.swing.JPanel;
11
12 import net.sf.sail.core.beans.service.AnnotationService;
13
14 import org.telscenter.pas.service.NavigateAction;
15 import org.telscenter.pas.steps.domain.BlockInteraction;
16
17 import com.lowagie.text.pdf.PdfPCell;
18
19 /***
20 * To be implemented by subclasses of PasStep that can return report on work
21 * performed within the step.
22 *
23 * @author turadg
24 */
25 public interface IWorkReporter {
26
27 /***
28 * A JPanel presenting a report of the learner's work suitable for the
29 * learner themself.
30 *
31 * @return
32 */
33
34 public JPanel getReportForLearner();
35
36 /***
37 * for special navigation options
38 *
39 * @param navigateAction - navigates the project to that step
40 * @return
41 */
42 public JPanel getReportForLearner(NavigateAction navigateAction);
43
44 /***
45 * for special navigation options
46 *
47 * @param navigateAction - navigates the project to that step
48 * @return
49 */
50 public JPanel getReportForLearnerWithAnnotations(NavigateAction navigateAction);
51
52 public JPanel getReportForLearnerWithAnnotations();
53
54 public PdfPCell getReportForLearnerPDF(AnnotationService annotationService);
55
56 public void initStepParts();
57
58 public List<JPanel> getCurrentStepParts();
59
60 public List<String> getCurrentPrompts();
61
62 public List<JLabel> getCurrentAnswers();
63
64 public Integer getPossibleScore();
65
66 public void setPossibleScore(Integer possibleScore);
67
68
69 /***
70 * Returns a <rimname, prompt> mapping(s) for this step
71 * Note that steps like <code>Note</code> can have multiple
72 * Rims because if it were a multi-part note step.
73 *
74 * @return <code>Map</code> rimname<->prompt mapping for this step.
75 */
76 public Map<String, String> getEntityToPromptMap();
77
78 }