IDEA-69673 Generate toString() template Groovy GString style should be added

This commit is contained in:
Max Medvedev
2013-09-05 15:28:20 -07:00
parent 5e1454aaf3
commit cd1aa723b8
2 changed files with 29 additions and 1 deletions
@@ -0,0 +1,26 @@
public java.lang.String toString() {
#if ( $members.size() > 0 )
#set ( $i = 0 )
return """\
$classname{
#foreach( $member in $members )
#if ( $i > 0 ),
#end
#set($d = "$")
#if ( $member.objectArray )
$member.name=${d}{java.util.Arrays.toString($member.accessor)}##
#elseif ( $member.primitiveArray)
$member.name=${d}{java.util.Arrays.toString($member.accessor)}##
#elseif ( $member.string )
$member.name='$d$member.accessor'##
#else
$member.name=$d${member.accessor}##
#end
#set ( $i = $i + 1 )
#end
}"""
#else
return "$classname{}"
#end
}
@@ -29,6 +29,7 @@ import java.io.InputStreamReader;
public class TemplateResourceLocator {
private static final String DEFAULT_CONCAT = "/org/jetbrains/generate/tostring/template/DefaultConcatMember.vm";
private static final String DEFAULT_CONCAT_GROOVY = "/org/jetbrains/generate/tostring/template/DefaultConcatMemberGroovy.vm";
private static final String DEFAULT_CONCAT_SUPER = "/org/jetbrains/generate/tostring/template/DefaultConcatMemberSuper.vm";
private static final String DEFAULT_BUFFER = "/org/jetbrains/generate/tostring/template/DefaultBuffer.vm";
private static final String DEFAULT_BUILDER = "/org/jetbrains/generate/tostring/template/DefaultBuilder.vm";
@@ -48,7 +49,8 @@ public class TemplateResourceLocator {
new TemplateResource("StringBuffer", readFile(DEFAULT_BUFFER), true),
new TemplateResource("StringBuilder (JDK 1.5)", readFile(DEFAULT_BUILDER), true),
new TemplateResource("ToStringBuilder (Apache Commons)", readFile(DEFAULT_TOSTRINGBUILDER), true),
new TemplateResource("Objects.toStringHelper (Guava)", readFile(DEFAULT_GUAVA), true)
new TemplateResource("Objects.toStringHelper (Guava)", readFile(DEFAULT_GUAVA), true),
new TemplateResource("Groovy: String concat (+)", readFile(DEFAULT_CONCAT_GROOVY), true),
};
}
catch (IOException e) {