IDEA添加非空Getter方法模板,并解决泛型

2019-03-01  本文已影响0人  星邪Ara

为了满足项目需求进一步优化了模板

#if($field.modifierStatic)
static ##
#end
##获取类名S
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
##获取类名E
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}() {
## 常用类型
#if($field.isString())
    if($field.name == null) set${name}("");
    return $field.name;
#elseif($field.isList())
    if($field.name == null) set${name}(new ArrayList<>());
    return $field.name;
#elseif($field.isSet())
    if($field.name == null) set${name}(new HashSet<>());
    return $field.name;
#elseif($field.isMap())
    if($field.name == null) set${name}(new HashMap<>());
    return $field.name;
## 如果是基本类型,则什么都不做
#elseif($field.numeric||$field.boolean||$field.byte||$field.char||$field.getTypeName() == "Character")
    return $field.name;
##用户自定义类型或以上未包含类型,直接new
#else
    ##解决泛型问题
    if($field.name == null) set${name}(new $field.type ## 
         #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))());
    return $field.name;
    ##泛型有问题
    ##return $field.name == null ? new $field.getTypeName()() : $field.name;
#end
}
##end是ifelse的结尾

1、第一步


TIM图片20190301110522.png

2、第二步

image

3、第三步

image

4、第四步,把下面内容复制进去点击OK完事,直接使用nonNull即可


#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean && $field.primitive)
is##
#else
get##
#end
${name}() {
## 常用类型
#if($field.isString())
    return $field.name == null ? "" : $field.name;
#elseif($field.isList())
    return $field.name == null ? new ArrayList<>() : $field.name;
#elseif($field.isSet())
    return $field.name == null ? new HashSet<>() : $field.name;
#elseif($field.isMap())
    return $field.name == null ? new HashMap<>() : $field.name;
## 如果是基本类型,则什么都不做
#elseif($field.numeric||$field.boolean||$field.byte||$field.char||$field.getTypeName() == "Character")
    return $field.name;
##用户自定义类型或以上未包含类型,直接new
#else
    ##解决泛型问题
    return $field.name == null ? new $field.type ## 
    #set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
    () : $field.name;
    ##泛型有问题
    ##return $field.name == null ? new $field.getTypeName()() : $field.name;
#end
}

上一篇 下一篇

猜你喜欢

热点阅读