1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package org.kuali.student.contract.writer.search;
17  
18  import org.kuali.student.contract.model.SearchCriteria;
19  import org.kuali.student.contract.model.SearchCriteriaParameter;
20  import org.kuali.student.contract.writer.XmlWriter;
21  
22  import java.io.PrintStream;
23  
24  
25  
26  
27  
28  public class SearchCriteriaWriter extends XmlWriter {
29  
30      private SearchCriteria searchCriteria;
31  
32      public SearchCriteriaWriter(PrintStream out, int indent,
33              SearchCriteria searchCriteria) {
34          super(out, indent);
35          this.searchCriteria = searchCriteria;
36      }
37  
38      public void write() {
39  
40          println("");
41          indentPrint("<search:searchCriteriaTypeInfo");
42          
43          writeAttribute("id", searchCriteria.getKey());
44          println(">");
45          incrementIndent();
46  
47          
48          writeComment(searchCriteria.getComments());
49  
50          writeTag("search:name", searchCriteria.getName());
51          writeTag("search:desc", searchCriteria.getDescription());
52          indentPrintln("<search:queryParams>");
53          incrementIndent();
54          for (SearchCriteriaParameter col : searchCriteria.getParameters()) {
55              indentPrintln(calcRefBean(col.getKey()));
56          }
57          decrementIndent();
58          indentPrintln("</search:queryParams>");
59          
60          indentPrintln("</search:searchCriteriaTypeInfo>");
61          decrementIndent();
62      }
63  
64      private String calcRefBean(String id) {
65          return "<ref bean=\"" + id + "\" />";
66      }
67  }