1 package net.mlw.vlh.web; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import net.mlw.vlh.web.tag.support.CellInterceptor; 7 import net.mlw.vlh.web.tag.support.CsvDisplayProvider; 8 import net.mlw.vlh.web.tag.support.DefaultLinkEncoder; 9 import net.mlw.vlh.web.tag.support.DisplayProvider; 10 import net.mlw.vlh.web.tag.support.ExcelDisplayProvider; 11 import net.mlw.vlh.web.tag.support.GroupingCellInterceptor; 12 import net.mlw.vlh.web.tag.support.HtmlDisplayProvider; 13 import net.mlw.vlh.web.tag.support.LinkEncoder; 14 import net.mlw.vlh.web.util.DisplayHelper; 15 import net.mlw.vlh.web.util.PassThroughDisplayHelper; 16 17 import org.springframework.context.MessageSource; 18 import org.springframework.context.support.ResourceBundleMessageSource; 19 import org.springframework.web.servlet.LocaleResolver; 20 import org.springframework.web.servlet.i18n.SessionLocaleResolver; 21 22 /*** 23 * 24 * net.mlw.vlh.web.ValueListConfigBean 25 * 26 * @author Matthew Wilson, Andrej Zachar 27 */ 28 public class ValueListConfigBean 29 { 30 31 public static final String DEFAULT_NAME = "classicLook"; 32 33 public static final CellInterceptor DEFAULT_CELL_INTERCEPTOR = new GroupingCellInterceptor(); 34 35 public static final int DEFAULT_STYLE_COUNT = 2; 36 37 public static final String DEFAULT_STYLE_PREFIX = "classicLook"; 38 39 public static final DisplayProvider DEFAULT_DISPLAY_PROVIDER = new HtmlDisplayProvider(); 40 41 public static final LocaleResolver DEFAULT_LOCALE_RESOLVER = new SessionLocaleResolver(); 42 43 public static final DisplayHelper DEFAULT_DISPLAY_HELPER = new PassThroughDisplayHelper(); 44 45 public static final LinkEncoder DEFAULT_LINK_ENCODER = new DefaultLinkEncoder(); 46 47 public static final ResourceBundleMessageSource DEFAULT_MESSAGE_SOURCE = new ResourceBundleMessageSource(); 48 49 public static final Map DEFAULT_DISPLAY_PROVIDERS = new HashMap(); 50 static 51 { 52 DEFAULT_MESSAGE_SOURCE.setBasename("classicLook"); 53 54 DEFAULT_DISPLAY_PROVIDERS.put("html", new HtmlDisplayProvider()); 55 DEFAULT_DISPLAY_PROVIDERS.put("csv", new CsvDisplayProvider()); 56 DEFAULT_DISPLAY_PROVIDERS.put("excel", new ExcelDisplayProvider()); 57 58 } 59 60 private CellInterceptor cellInterceptor = DEFAULT_CELL_INTERCEPTOR; 61 62 private String nullToken = "-"; 63 64 private int styleCount = DEFAULT_STYLE_COUNT; 65 66 private String stylePrefix = DEFAULT_STYLE_PREFIX; 67 68 private MessageSource messageSource = DEFAULT_MESSAGE_SOURCE; 69 70 private DisplayHelper displayHelper = DEFAULT_DISPLAY_HELPER; 71 72 private LocaleResolver localeResolver = DEFAULT_LOCALE_RESOLVER; 73 74 private Map displayProviders; 75 76 private LinkEncoder linkEncoder = DEFAULT_LINK_ENCODER; 77 78 private String imageRoot = "/images"; 79 /*** 80 * @return Returns the displayProviders. 81 */ 82 public DisplayProvider getDisplayProvider(String name) 83 { 84 if (displayProviders == null) 85 { 86 return DEFAULT_DISPLAY_PROVIDER; 87 } 88 89 DisplayProvider display = (DisplayProvider) displayProviders.get(name); 90 if (display == null) 91 { 92 display = (DisplayProvider) DEFAULT_DISPLAY_PROVIDERS.get(name); 93 } 94 if (display == null) 95 { 96 display = DEFAULT_DISPLAY_PROVIDER; 97 } 98 99 return display; 100 } 101 102 /*** 103 * @param displayProviders 104 * The displayProviders to set. 105 */ 106 public void setDisplayProviders(Map displayProviders) 107 { 108 this.displayProviders = displayProviders; 109 } 110 111 /*** 112 * @return Returns the displayHelper. 113 */ 114 public DisplayHelper getDisplayHelper() 115 { 116 return displayHelper; 117 } 118 119 /*** 120 * @param displayHelper 121 * The displayHelper to set. 122 */ 123 public void setDisplayHelper(DisplayHelper displayHelper) 124 { 125 this.displayHelper = displayHelper; 126 } 127 128 /*** 129 * @return Returns the nullToken. 130 */ 131 public String getNullToken() 132 { 133 return nullToken; 134 } 135 136 /*** 137 * @param nullToken 138 * The nullToken to set. 139 */ 140 public void setNullToken(String nullToken) 141 { 142 this.nullToken = nullToken; 143 } 144 145 /*** 146 * @return Returns the styleCount. 147 */ 148 public int getStyleCount() 149 { 150 return styleCount; 151 } 152 153 /*** 154 * @param styleCount 155 * The styleCount to set. 156 */ 157 public void setStyleCount(int styleCount) 158 { 159 this.styleCount = styleCount; 160 } 161 162 /*** 163 * @return Returns the stylePrefix. 164 */ 165 public String getStylePrefix() 166 { 167 return stylePrefix; 168 } 169 170 /*** 171 * @param stylePrefix 172 * The stylePrefix to set. 173 */ 174 public void setStylePrefix(String stylePrefix) 175 { 176 this.stylePrefix = stylePrefix; 177 } 178 179 /*** 180 * @return Returns the messageSource. 181 */ 182 public MessageSource getMessageSource() 183 { 184 if (messageSource == null) 185 { 186 ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 187 messageSource.setBasename("classicLook"); 188 this.messageSource = messageSource; 189 } 190 191 return messageSource; 192 } 193 194 /*** 195 * @param messageSource 196 * The messageSource to set. 197 */ 198 public void setMessageSource(MessageSource messageSource) 199 { 200 this.messageSource = messageSource; 201 } 202 203 /*** 204 * @return Returns the localeResolver. 205 */ 206 public LocaleResolver getLocaleResolver() 207 { 208 return localeResolver; 209 } 210 211 /*** 212 * @param localeResolver 213 * The localeResolver to set. 214 */ 215 public void setLocaleResolver(LocaleResolver localeResolver) 216 { 217 this.localeResolver = localeResolver; 218 } 219 220 /*** 221 * @return Returns the linkEncoder. 222 */ 223 public LinkEncoder getLinkEncoder() 224 { 225 return linkEncoder; 226 } 227 228 /*** 229 * @param linkEncoder The linkEncoder to set. 230 */ 231 public void setLinkEncoder(LinkEncoder linkEncoder) 232 { 233 this.linkEncoder = linkEncoder; 234 } 235 236 /*** 237 * @return String The style for focused row. 238 */ 239 public String getFocusedRowStyle() { 240 return getStylePrefix()+"FocusedRow"; 241 } 242 /*** 243 * @return Returns the cellInterceptor. 244 */ 245 public CellInterceptor getCellInterceptor() 246 { 247 return cellInterceptor; 248 } 249 /*** 250 * @param cellInterceptor The cellInterceptor to set. 251 */ 252 public void setCellInterceptor(CellInterceptor cellInterceptor) 253 { 254 this.cellInterceptor = cellInterceptor; 255 } 256 /*** 257 * @return Returns the imageRoot. 258 */ 259 public String getImageRoot() 260 { 261 return imageRoot; 262 } 263 /*** 264 * @param imageRoot The imageRoot to set. 265 */ 266 public void setImageRoot(String imageRoot) 267 { 268 this.imageRoot = imageRoot; 269 } 270 }