All Downloads are FREE. Search and download functionalities are using the official Maven repository.

yui.comn.hub.model.HubXmlColumn Maven / Gradle / Ivy

The newest version!
/**
* Project: yui3-common-hub
 * Class HubXmlColumn
 * Version 1.0
 * File Created at 2018年8月10日
 * $Id$
 * 
 * Copyright 2010-2015 Yui.com Corporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * Yui Personal. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Yui.com.
 */
package yui.comn.hub.model;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

import lombok.Data;

/**
 * @author yuyi ([email protected])
 */
@Data
public class HubXmlColumn implements Comparable  {

    private String prefix;      //name的前缀, 比如prefix=sysUser, name=nm, 输出就是 sysUserNm
    private String name;        //grid: map中的key; search: 查询的key
    private String mapper;      //grid: 对象.属性; search: 表名+字段 
    private String column;      //grid: 表名+字段 
    private String type;        //通过解析对象属性,反射生成列
    private String typeObj;     //实体对象名称
    private String descr;       //列描述 
    private Integer viewOrder;  //列排序,如果写,默认按顺序排序,如果解析类对象,按照英文首字母排序
    private String handler;     //处理器,多个处理器用分号(";")隔开
    private String toName;      //如果通过处理器想生成另一个map属性
    private String toDescr;     //是新属性列排序描述
    private String enCls;       //枚举类
    private String group;       //组的概念

    private Class enumClass; //枚举实例化类
    
    private List handlerConfigs;
    
    private Map> collections;
    
    public void putCollection(String key, List collection) {
        if (null == collections) {
            collections = new LinkedHashMap<>();
        }
        collections.put(key, collection);
    }
    
    public HubXmlColumn() {}
    
    public HubXmlColumn(String name, String mapper) {
        this.name = name;
        this.mapper = mapper;
    }
    
    public HubXmlColumn addHandler(String handler) {
        if (StringUtils.isBlank(handler)) {
            this.handler = handler;
        } else {
            this.handler = this.handler + Symbol.SEMICOLON + handler;
        }
        return this;
    }
    
    @Override
    public int compareTo(HubXmlColumn obj) {
        if (obj.getViewOrder() == null) {
            return 1;
        }
        
        if (this.getViewOrder() == null) {
            return -1;
        } 

        return this.getViewOrder().compareTo(((HubXmlColumn) obj).getViewOrder());
    }
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy