dhtmlxのpojo
15570 ワード
Grid
public class DhtmlxGridRow {
Object id;
Object data;
public Object getId() {
return id;
}
public void setId(Object id) {
this.id = id;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
import java.util.ArrayList;
import java.util.List;
public class DhtmlxGridTable {
List<DhtmlxGridRow> rows;
int total_count;
int pos;
public int getPos() {
return pos;
}
public void setPos(int pos) {
this.pos = pos;
}
public int getTotal_count() {
return total_count;
}
public void setTotal_count(int total_count) {
this.total_count = total_count;
}
public List<DhtmlxGridRow> getRows() {
if(rows ==null){
rows = new ArrayList<DhtmlxGridRow>();
}
return rows;
}
public void setRows(List<DhtmlxGridRow> rows) {
this.rows = rows;
}
}
Tree
import java.io.Serializable;
import java.util.List;
/**
* @Description:DhtmlxTree
*
*
* @Version: 1.0
*
*/
public class DhtmlxTreeItem implements Serializable {
/**
* 2011-8-2
*/
private static final long serialVersionUID = 1L;
public static Long ROOTID = 0L;// id 0
public static final String[] INCLUDE_SIMPLE = { "id", "text", "item" };
public static final String[] INCLUDE_CHECKED = { "id", "text", "item",
"checked" };
public static final String[] INCLUDE_OPEN = { "id", "text", "item", "open" };
public static final String[] INCLUDE_OPEN_CHECKED = { "id", "text", "item",
"open", "checked" };
public static final String[] INCLUDE_ALL = { "id", "text", "item", "open",
"checked", "child", "im0", "im1", "im2", "aCol", "sCol", "style",
"select", "call", "tooltip", "nocheckbox", "radio", "imheight",
"imwidth", "topoffset" };
private String id;// id of the node
private String text;// label of the node
private String im0;// image for a node without child items (tree will get
// images from the path specified in setImagePath()
// method)
private String im1;// image for an expanded node with child items
private String im2;// image for a collapsed node with child items
private String aCol;// colour of an item that is not selected
private String sCol;// colour of a selected item
private String style;// text style of a node
private String open;// show a node opened (any value)
private String select;// select a node on load (any value)
private String call;// call function on select(any value)
private String tooltip;// tooltip of the node
private String checked;// check checkbox if exists (in case of 3-state
// checkboxes values can be 1 - checked or -1 -
// unsure)
private String nocheckbox;// instruct component, to not render checkbox for
// related item, optional
private String child;// specifies whether a node has child items (1) or not
// (0)
private String radio;// if not empty, child items of this node will have
// radio buttons
private int imheight;// height of the icon
private int imwidth;// width of the icon
private int topoffset;// offset of the item from the node above
private List<DhtmlxTreeItem> item;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getIm0() {
return im0;
}
public void setIm0(String im0) {
this.im0 = im0;
}
public String getIm1() {
return im1;
}
public void setIm1(String im1) {
this.im1 = im1;
}
public String getIm2() {
return im2;
}
public void setIm2(String im2) {
this.im2 = im2;
}
public List<DhtmlxTreeItem> getItem() {
return item;
}
public void setItem(List<DhtmlxTreeItem> item) {
this.item = item;
}
public String getOpen() {
return open;
}
public void setOpen(String open) {
this.open = open;
}
public String getSelect() {
return select;
}
public void setSelect(String select) {
this.select = select;
}
public String getCall() {
return call;
}
public void setCall(String call) {
this.call = call;
}
public String getTooltip() {
return tooltip;
}
public void setTooltip(String tooltip) {
this.tooltip = tooltip;
}
public String getaCol() {
return aCol;
}
public void setaCol(String aCol) {
this.aCol = aCol;
}
public String getsCol() {
return sCol;
}
public void setsCol(String sCol) {
this.sCol = sCol;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public String getChecked() {
return checked;
}
public void setChecked(String checked) {
this.checked = checked;
}
public String getNocheckbox() {
return nocheckbox;
}
public void setNocheckbox(String nocheckbox) {
this.nocheckbox = nocheckbox;
}
public String getChild() {
return child;
}
public void setChild(String child) {
this.child = child;
}
public String getRadio() {
return radio;
}
public void setRadio(String radio) {
this.radio = radio;
}
public int getImheight() {
return imheight;
}
public void setImheight(int imheight) {
this.imheight = imheight;
}
public int getImwidth() {
return imwidth;
}
public void setImwidth(int imwidth) {
this.imwidth = imwidth;
}
public int getTopoffset() {
return topoffset;
}
public void setTopoffset(int topoffset) {
this.topoffset = topoffset;
}
}
import java.util.ArrayList;
import java.util.List;
public class DhtmlxTreeGridRow {
Object id;
Object data;
String xmlkids;
List<DhtmlxTreeGridRow> rows;
public Object getId() {
return id;
}
public void setId(Object id) {
this.id = id;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public List<DhtmlxTreeGridRow> getRows() {
if(rows==null){
rows = new ArrayList<DhtmlxTreeGridRow>();
}
return rows;
}
public void setRows(List<DhtmlxTreeGridRow> rows) {
this.rows = rows;
}
public String getXmlkids() {
return xmlkids;
}
public void setXmlkids(String xmlkids) {
this.xmlkids = xmlkids;
}
}
import java.util.ArrayList;
import java.util.List;
public class DhtmlxTreeGridTable {
int total_count;
int pos;
List<DhtmlxTreeGridRow> rows;
public int getTotal_count() {
return total_count;
}
public void setTotal_count(int total_count) {
this.total_count = total_count;
}
public int getPos() {
return pos;
}
public void setPos(int pos) {
this.pos = pos;
}
public List<DhtmlxTreeGridRow> getRows() {
if(rows==null){
rows = new ArrayList<DhtmlxTreeGridRow>();
}
return rows;
}
public void setRows(List<DhtmlxTreeGridRow> rows) {
this.rows = rows;
}
}
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import org.apache.commons.lang.StringUtils;
import com.mogenesis.mobileadplatform.web.util.ArrayUtil;
/**
*
* @Description: dhtmxTree JSON ,
*
*
* @Date: 2011-8-3 10:57:19
* @Version: 1.0
*
*/
public class DhtmlxTreeBuilder {
/**
* json
*
* @param <T>
* @param root
* @param cb
* @return
*/
public static <T> String buildRecursiveJson(T root,
DhtmlxTreeBuildCallback<T> cb) {
DhtmlxTreeItem d = buildRecursive(root, cb);
if (d == null) {
return "{}";
}
String[] includeProperties = cb.includeProperties();
String[] excludeProperties = cb.excludeProperties();
Set<String> includes = null;
if ((includeProperties != null) && (includeProperties.length > 0)) {
includes = new TreeSet<String>();
for (String property : includeProperties) {
if (StringUtils.isNotEmpty(property)) {
includes.add(property);
}
}
if (includes.size() == 0)
includes = null;
}
Set<String> excludes = null;
if ((excludeProperties != null) && (excludeProperties.length > 0)) {
excludes = new TreeSet<String>();
for (String property : excludeProperties) {
if (StringUtils.isNotEmpty(property)) {
excludes.add(property);
}
}
if (excludes.size() == 0) {
excludes = null;
}
}
JsonConfig config = null;
if ((excludes == null) && (includes == null)) {
return JSONObject.fromObject(d).toString();
}
Set<String> ex;
if (includes != null) {
ex = new HashSet<String>();
for (String s : DhtmlxTreeItem.INCLUDE_ALL) {
if (!(includes.contains(s)))
ex.add(s);
}
if (ex.size() > 0) {
config = new JsonConfig();
config.setExcludes((String[]) ArrayUtil.toArray(ex));
}
}
if (excludes != null) {
config = new JsonConfig();
config.setExcludes((String[]) ArrayUtil.toArray(excludes));
}
if ((excludes != null) && (includes != null)) {
ex = new HashSet<String>();
for (String s : DhtmlxTreeItem.INCLUDE_ALL) {
if (excludes.contains(s))
ex.add(s);
else if (!(includes.contains(s)))
ex.add(s);
}
if (ex.size() > 0) {
config = new JsonConfig();
config.setExcludes((String[]) ArrayUtil.toArray(ex));
}
}
return ((String) JSONObject.fromObject(d, config).toString());
}
public static <T> DhtmlxTreeItem buildRecursive(T root,
DhtmlxTreeBuildCallback<T> cb) {
if ((root == null) || (cb == null)) {
return null;
}
DhtmlxTreeItem dRoot = cb.getDhtmlxTreeItem(root);
if (dRoot != null)
buildRecursiveJson(root, dRoot, cb);
return dRoot;
}
private static <T> void buildRecursiveJson(T t, DhtmlxTreeItem dT,
DhtmlxTreeBuildCallback<T> cb) {
T[] nodes = cb.getChildren(t);
if ((nodes == null) || (nodes.length == 0))
return;
List<DhtmlxTreeItem> children = dT.getItem();
if (children == null) {
children = new ArrayList<DhtmlxTreeItem>();
dT.setItem(children);
}
for (int i = 0; i < nodes.length; ++i) {
T node = nodes[i];
if (node == null) {
continue;
}
DhtmlxTreeItem o = cb.getDhtmlxTreeItem(node);
buildRecursiveJson(node, o, cb);
children.add(o);
}
}
}
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize;
public class PojoMapper {
private static final ObjectMapper objectMapper = new ObjectMapper();
private static final JsonFactory jsonFactory = new JsonFactory();
private static final String JSON_DATE_FROMATE = "yyyy-MM-dd HH:mm:ss";
static{
SimpleDateFormat dateFormate = new SimpleDateFormat(JSON_DATE_FROMATE);
objectMapper.getSerializationConfig().setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
objectMapper.getSerializationConfig().setDateFormat(dateFormate);//the withDateFormate method can not effect
objectMapper.getDeserializationConfig().setDateFormat(dateFormate);
objectMapper.getSerializationConfig().set(SerializationConfig.Feature.WRITE_ENUMS_USING_TO_STRING, true);
}
/**
* deserializea a json string to an object
*
* @param <T>
* @param jsonAsString
* @param pojoClass
* @return
* @throws Exception
*/
public static <T> T fromJson(String jsonAsString, Class<T> pojoClass)
throws Exception {
return (T)objectMapper.readValue(jsonAsString, pojoClass);
}
/**
* serializea an object to a json string
* @param pojo
* @param prettyPrint if true,enabling pretty-printing using the default pretty printer
* @return
* @throws Exception
*/
public static String toJson(Object pojo, boolean prettyPrint)
throws Exception {
StringWriter sw = new StringWriter();
JsonGenerator jg = jsonFactory.createJsonGenerator(sw);
if (prettyPrint) {
jg.useDefaultPrettyPrinter();
}
objectMapper.writeValue(jg, pojo);
return sw.toString();
}
public static String toJson(Object pojo) throws Exception{
return toJson(pojo, false);
}
}