import org.operamasks.faces.component.Align;
import org.operamasks.faces.component.grid.CheckboxSelectionModel;
import org.operamasks.faces.component.grid.GridColumn;
import org.operamasks.faces.component.grid.GridColumnModel;
import org.operamasks.faces.component.grid.GridHeader;
import org.operamasks.faces.component.grid.GridHeaderCell;
import org.operamasks.faces.component.grid.GridHeaderModel;
import org.operamasks.faces.component.grid.GridSelectionModel;
import org.operamasks.faces.component.grid.provider.GridRowDataProvider;
import org.operamasks.faces.component.grid.provider.GridViewProvider;
public class GridBeanHelper
{
public static Quote[] stockData = new Quote[] {
new Quote(\"3m Co.\", 71.72),
new Quote(\"Alcoa Inc\", 29.01),
new Quote(\"Altria Group Inc.\", 83.81),
new Quote(\"American Express Company\", 52.55),
new Quote(\"American International Group, Inc.\", 64.13),
new Quote(\"Apusic Systems, Inc.\", 87.08),
new Quote(\"AT&T Inc.\", 31.61),
new Quote(\"Boeing Co.\", 75.43),
new Quote(\"Caterpillar Inc.\", 67.27),
new Quote(\"Citigroup, Inc.\", 49.37),
new Quote(\"E.I. du Pont de Nemours and Company\", 40.48),
new Quote(\"Exxon Mobil Corp\", 68.1),
new Quote(\"General Electric Company\", 34.14),
new Quote(\"General Motors Corporation\", 30.27),
new Quote(\"Hewlett-Packard Co.\", 36.53),
new Quote(\"Honeywell Intl Inc.\", 38.77),
new Quote(\"Intel Corporation\", 19.88),
new Quote(\"International Business Machines\", 81.41),
new Quote(\"Johnson & Johnson\", 64.72),
new Quote(\"JP Morgan & Chase & Co\", 45.73),
new Quote(\"McDonald's Corporation\", 36.76),
new Quote(\"Merck & Co., Inc.\", 40.96),
};
public static GridColumnModel createStockColumnModel() {
GridColumnModel model = new GridColumnModel();
GridColumn column = new GridColumn(\"company\");
column.setWidth(240);
column.setAlign(Align.LEFT);
column.setEnableSort(true);
model.addColumn(column);
column = new GridColumn(\"price\");
model.addColumn(column);
column.setAlign(Align.RIGHT);
column = new GridColumn(\"change\");
model.addColumn(column);
column = new GridColumn(\"change_percent\");
model.addColumn(column);
model.setShowRowNumber(false);
return model;
}
public static GridHeaderModel createStandardStockHeader() {
GridHeaderModel model = new GridHeaderModel();
GridHeader header = new GridHeader();
GridHeaderCell cell;
header = new GridHeader();
cell = new GridHeaderCell(\"公司\");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell(\"价格\");
cell.setAlign(Align.CENTER);
header.addCell(cell);
cell = new GridHeaderCell(\"百分比\");
header.addCell(cell);
cell = new GridHeaderCell(\"变化\");
header.addCell(cell);
return model;
}
public static GridRowDataProvider getStockRowProvider() {
return new GridRowDataProvider() {
public Object getLabel(Object rowData, GridColumn column) {
String id = column.getId();
Quote data = (Quote) rowData;
if (\"company\".equals(id)) {
return data.getCompany();
} else if (\"price\".equals(id)) {
return String.valueOf(data.getPrice());
} else if (\"change\".equals(id)) {
return String.valueOf(data.getChange());
} else if (\"change_percent\".equals(id)) {
return String.valueOf(data.getPctChange());
}
return null;
}
};
}
public static GridViewProvider getStockViewProvider() {
return new GridViewProvider(){
public GridColumnModel getColumnModel(Object input) {
return GridBeanHelper.createStockColumnModel();
}
public GridHeaderModel getHeaderModel(Object input) {
return GridBeanHelper.createStandardStockHeader();
}
public GridSelectionModel getSelectionModel(Object input) {
return new CheckboxSelectionModel();
}
};
}
}