001 package org.kuali.student.common.assembly.data; 002 003 import java.util.ArrayList; 004 import java.util.List; 005 import java.util.Map; 006 007 import javax.xml.bind.annotation.XmlElement; 008 import javax.xml.bind.annotation.XmlElementWrapper; 009 010 import org.kuali.student.common.dictionary.dto.CommonLookup; 011 012 013 public class UILookupData extends CommonLookup{ 014 015 private static final long serialVersionUID = 1L; 016 017 private String id; //unique ID of this lookup 018 private String name; //name of this search 019 private String desc; 020 private String title; //advanced search window title 021 022 // @XmlElement(name="param") 023 // @XmlElementWrapper 024 // private List<LookupParamMetadata> params; 025 026 @XmlElement(name="result") 027 @XmlElementWrapper 028 private List<LookupResultMetadata> results; 029 030 private LookupQosMetadata qosMetadata; 031 032 033 private String resultDisplayKey; 034 035 private String resultSortKey; 036 037 // how a search criteria will be used. ADVANCED_CUSTOM is shown on both advanced 038 // and custom screens of the advanced search lightbox 039 //TODO is DEFAULT needed? it has 0 references 040 public enum Usage { 041 DEFAULT, ADVANCED, CUSTOM, ADVANCED_CUSTOM 042 } 043 044 private Usage usage; 045 046 //TODO BUTTON has 0 references. Is it needed? 047 public enum Widget { 048 NO_WIDGET, SUGGEST_BOX, ADVANCED_LIGHTBOX, DROP_DOWN, BUTTON, CHECKBOX_LIST, RADIO 049 } 050 private Widget widget; 051 052 public enum WidgetOption { 053 ADVANCED_LIGHTBOX_PREVIEW_MODE, ADVANCED_LIGHTBOX_ACTION_LABEL 054 } 055 056 private Map<WidgetOption, String> widgetOptions; 057 058 public Map<WidgetOption, String> getWidgetOptions() { 059 return widgetOptions; 060 } 061 062 public void setWidgetOptions(Map<WidgetOption, String> widgetOptions) { 063 this.widgetOptions = widgetOptions; 064 } 065 066 public String getWidgetOptionValue(WidgetOption widgetOption) { 067 if (widgetOptions == null) return null; 068 return widgetOptions.get(widgetOption); 069 } 070 071 public String getName() { 072 return name; 073 } 074 075 public void setName(String name) { 076 this.name = name; 077 } 078 079 public String getDesc() { 080 return desc; 081 } 082 083 public void setDesc(String desc) { 084 this.desc = desc; 085 } 086 087 public String getTitle() { 088 return title; 089 } 090 091 public void setTitle(String title) { 092 this.title = title; 093 } 094 095 // public List<LookupParamMetadata> getParams() { 096 // if (params == null) { 097 // params = new ArrayList<LookupParamMetadata>(); 098 // } 099 // return params; 100 // } 101 // 102 // public void setParams(List<LookupParamMetadata> params) { 103 // this.params = params; 104 // } 105 106 public List<LookupResultMetadata> getResults() { 107 if (results == null) { 108 results = new ArrayList<LookupResultMetadata>(); 109 } 110 return results; 111 } 112 113 public void setResults(List<LookupResultMetadata> results) { 114 this.results = results; 115 } 116 117 118 119 public String getResultDisplayKey() { 120 return resultDisplayKey; 121 } 122 123 public void setResultDisplayKey(String resultDisplayKey) { 124 this.resultDisplayKey = resultDisplayKey; 125 } 126 127 public String getResultSortKey() { 128 return resultSortKey; 129 } 130 131 public void setResultSortKey(String resultSortKey) { 132 this.resultSortKey = resultSortKey; 133 } 134 135 public LookupQosMetadata getQosMetadata() { 136 return qosMetadata; 137 } 138 139 public void setQosMetadata(LookupQosMetadata qosMetadata) { 140 this.qosMetadata = qosMetadata; 141 } 142 143 public String getId() { 144 return id; 145 } 146 147 public void setId(String id) { 148 this.id = id; 149 } 150 151 public Usage getUsage() { 152 return usage; 153 } 154 155 public void setUsage(Usage usage) { 156 this.usage = usage; 157 } 158 159 public Widget getWidget() { 160 return widget; 161 } 162 163 public void setWidget(Widget widget) { 164 this.widget = widget; 165 } 166 167 public String toString(){ 168 StringBuffer sb = new StringBuffer(); 169 sb.append(id); 170 sb.append(","); 171 sb.append(","); 172 sb.append(name); 173 sb.append(","); 174 sb.append(desc); 175 return sb.toString(); 176 } 177 178 }