1 18 package org.apache.beehive.netui.databinding.datagrid.runtime.config; 19 20 import java.util.List ; 21 22 import javax.servlet.ServletRequest ; 23 24 import org.apache.beehive.netui.databinding.datagrid.api.sort.Sort; 25 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel; 26 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortStrategy; 27 import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel; 28 import org.apache.beehive.netui.databinding.datagrid.api.filter.Filter; 29 import org.apache.beehive.netui.databinding.datagrid.api.pager.PagerModel; 30 import org.apache.beehive.netui.databinding.datagrid.api.rendering.PagerRenderer; 31 import org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel; 32 import org.apache.beehive.netui.databinding.datagrid.api.DataGridConfig; 33 import org.apache.beehive.netui.databinding.datagrid.api.DataGridResourceProvider; 34 import org.apache.beehive.netui.databinding.datagrid.api.DataGridState; 35 import org.apache.beehive.netui.databinding.datagrid.api.DataGridStateCodec; 36 import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.pager.PreviousNextPagerRenderer; 37 import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.DefaultStyleModel; 38 import org.apache.beehive.netui.databinding.datagrid.runtime.model.style.EmptyStyleModel; 39 40 46 public class DefaultDataGridConfig 47 extends DataGridConfig { 48 49 private static final String STYLE_POLICY_NAME_EMPTY = "empty"; 50 private static final String STYLE_POLICY_NAME_DEFAULT = "default"; 51 private static final String STYLE_PREFIX_DEFAULT = "datagrid"; 52 53 private static final StyleModel DEFAULT_STYLE_POLICY = new DefaultStyleModel(STYLE_PREFIX_DEFAULT); 54 private static final StyleModel EMPTY_STYLE_POLICY = new EmptyStyleModel(); 55 private static final SortStrategy SORT_STRATEGY = new DefaultSortStrategy(); 56 57 62 public DataGridState createDataGridState() { 63 return new DataGridState(); 64 } 65 66 70 public Sort createSort() { 71 return new Sort(); 72 } 73 74 78 public Filter createFilter() { 79 return new Filter(); 80 } 81 82 88 public SortModel createSortModel(List sorts) { 89 SortModel sortModel = new SortModel(sorts); 90 sortModel.setSortStrategy(SORT_STRATEGY); 91 return sortModel; 92 } 93 94 99 public FilterModel createFilterModel(List filters) { 100 return new FilterModel(filters); 101 } 102 103 107 public PagerModel createPagerModel() { 108 return new PagerModel(); 109 } 110 111 117 public DataGridStateCodec createStateCodec(ServletRequest request, String gridName) { 118 DefaultDataGridStateCodec codec = new DefaultDataGridStateCodec(this); 119 codec.setServletRequest(request); 120 codec.setGridName(gridName); 121 return codec; 122 } 123 124 129 public PagerRenderer getDefaultPagerRenderer() { 130 return new PreviousNextPagerRenderer(); 131 } 132 133 139 public DataGridResourceProvider getDefaultResourceProvider() { 140 return new DefaultDataGridResourceProvider(); 141 } 142 143 149 public DataGridResourceProvider getResourceProvider(String resourceBundle) { 150 DataGridResourceProvider resourceProvider = new DefaultDataGridResourceProvider(); 151 resourceProvider.setResourceBundlePath(resourceBundle); 152 return resourceProvider; 153 } 154 155 177 public StyleModel getStyleModel(String name, String classPrefix) { 178 if(name == null || name.equals(STYLE_POLICY_NAME_DEFAULT)) { 179 if(classPrefix != null) 180 return new DefaultStyleModel(classPrefix); 181 else return DEFAULT_STYLE_POLICY; 182 } 183 else if(name != null && name.equals(STYLE_POLICY_NAME_EMPTY)) 184 return EMPTY_STYLE_POLICY; 185 else return DEFAULT_STYLE_POLICY; 186 } 187 } 188 | Popular Tags |