24 配置定义

本文介绍了一个名为FieldInfo的类及其内部AttributeInfo类的实现细节。FieldInfo类负责管理字段名称及属性信息,而AttributeInfo类则用于构建不同类型的属性信息,包括基本属性、Hbase属性和Es属性等。
public class FieldInfo {

    private String name;

    private AttributeInfo attributeInfo;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

//    public AttributeInfo createAttributeInfo(){
//        return new AttributeInfo();
//    }

    public AttributeInfo buildBaseAttributeInfo(String mappingname, String type, int index){
        return new AttributeInfo(mappingname,type,index);
    }

    public AttributeInfo buildHbaseAttributeInfo(String mappingname, String type, String family, int index){
        return  new AttributeInfo(mappingname,type,family,index);
    }

    public AttributeInfo buildEsAttributeInfo(String mappingname, String type, int index){
        return  new AttributeInfo(mappingname,type,index);
    }

    public AttributeInfo getAttributeInfo() {
        return attributeInfo;
    }

    public void setAttributeInfo(AttributeInfo attributeInfo) {
        this.attributeInfo = attributeInfo;
    }


    public class AttributeInfo{
        private String mappingname;
        private String type;
        private String family;
        private String convertMethod;
        private String filterMethod;
        private String defaultValue;
        private int index;


        public AttributeInfo() {
        }

        public AttributeInfo(String mappingname, String type, int index) {
            this.mappingname = mappingname;
            this.type = type;
            this.index = index;
        }
        public AttributeInfo(String mappingname, String type, String family, int index) {
            this.mappingname = mappingname;
            this.type = type;
            this.family = family;
            this.index = index;
        }


        public String getMappingname() {
            return mappingname;
        }

        public void setMappingname(String mappingname) {
            this.mappingname = mappingname;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getConvertMethod() {
            return convertMethod;
        }

        public void setConvertMethod(String convertMethod) {
            this.convertMethod = convertMethod;
        }

        public String getDefaultValue() {
            return defaultValue;
        }

        public void setDefaultValue(String defaultValue) {
            this.defaultValue = defaultValue;
        }

        public int getIndex() {
            return index;
        }

        public void setIndex(int index) {
            this.index = index;
        }

        public String getFamily() {
            return family;
        }

        public void setFamily(String family) {
            this.family = family;
        }

        public String getFilterMethod() {
            return filterMethod;
        }

        public void setFilterMethod(String filterMethod) {
            this.filterMethod = filterMethod;
        }
    }

    public static class JsonConfig{
        public static final String MAPPING_NAME="mappingname";
        public static final String DATA_TYPE="datatype";
        public static final String FAMILY="family";
        public static final String CONVERT="convert";
        public static final String FILTER="filter";
        public static final String DEFAULT="default";
        public static final String INDEX="index";
    }

    @Override
    public String toString() {
        return super.toString();
    }
}

 

转载于:https://www.cnblogs.com/yangh2016/p/6044205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值