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

com.diamondfsd.codegen.ModelDefine Maven / Gradle / Ivy

Go to download

simple code generate maven plugin. Template rendering through Java and freemarker.

There is a newer version: 1.1.1
Show newest version
package com.diamondfsd.codegen;

import java.util.Map;

/**
 * @author zhouchao
 * @date: 2019-04-17
 */
public class ModelDefine {
    /**
     * 全名例如  ModelDefine
     */
    private String name;
    /**
     * 通过横杠分割后的  model-define
     */
    private String nameSplit;
    /**
     * 驼峰  modelDefine
     */
    private String nameCamelCase;

    private String primaryKeyType;

    private Map params;

    public Map getParams() {
        return params;
    }

    public void setParams(Map params) {
        this.params = params;
    }

    public ModelDefine(String name, String primaryKeyType) {
        this.setName(name);
        this.primaryKeyType = primaryKeyType;
    }

    public String getPrimaryKeyType() {
        return primaryKeyType;
    }

    public void setPrimaryKeyType(String primaryKeyType) {
        this.primaryKeyType = primaryKeyType;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        StringBuilder nameBuilder = new StringBuilder();
        String[] splitResult = name.split("_");
        if (splitResult.length > 0) {
            for (String s : splitResult) {
                nameBuilder.append(s.substring(0, 1).toUpperCase());
                if (s.length() > 1) {
                    nameBuilder.append(s.substring(1));
                }
            }
            this.name = nameBuilder.toString();
        } else {
            this.name = name;
        }
        processPreDefineName(this.name);
    }

    private void processPreDefineName(String name) {
        StringBuilder nameSplitBuilder = new StringBuilder();
        this.nameCamelCase = name.substring(0, 1).toLowerCase() + name.substring(1);
        for (int i = 0; i < nameCamelCase.length(); i++) {
            char item = nameCamelCase.charAt(i);
            if (nameCamelCase.charAt(i) >= 'A' && nameCamelCase.charAt(i) <= 'Z') {
                item -= 'A' - 'a';
                nameSplitBuilder.append("-");
            }
            nameSplitBuilder.append(item);
        }
        this.nameSplit = nameSplitBuilder.toString();
    }

    public String getNameSplit() {
        return nameSplit;
    }

    public void setNameSplit(String nameSplit) {
        this.nameSplit = nameSplit;
    }

    public String getNameCamelCase() {
        return nameCamelCase;
    }

    public void setNameCamelCase(String nameCamelCase) {
        this.nameCamelCase = nameCamelCase;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy