Skip to content

Instantly share code, notes, and snippets.

@dathanb
Last active December 21, 2021 22:32
Show Gist options
  • Save dathanb/057aab59669b3966193f7fc6cc28e6bf to your computer and use it in GitHub Desktop.
Save dathanb/057aab59669b3966193f7fc6cc28e6bf to your computer and use it in GitHub Desktop.
JSON-ish IntelliJ toString template
public java.lang.String toString() {
#if ( $members.size() > 0 )
#set ( $i = 0 )
return "{\"_class\":\"$classname\", " +
#foreach( $member in $members )
#set ( $i = $i + 1 )
#if ( $i == $members.size() )
#set ( $postfix = "+" )
#else
#set ( $postfix = "+ "", "" + " )
#end
#if ( ${member.collection} )
"\"${member.name}\":" + (${member.accessor} == null ? "null" : java.util.Arrays.toString(${member.accessor}.toArray())) ${postfix}
#elseif ( ${member.objectArray} )
"\"${member.name}\":" + java.util.Arrays.toString(${member.accessor}) ${postfix}
#elseif ( ${member.primitiveArray} )
"\"${member.name}\":" + java.util.Arrays.toString(${member.accessor}) ${postfix}
#elseif (${member.object})
#if (${member.typeQualifiedName.contains("java.lang")})
"\"${member.name}\":" + (${member.accessor} == null ? "null" : "\"" + ${member.accessor} + "\"" ) ${postfix}
#else
"\"${member.name}\":" + (${member.accessor} == null ? "null" : ${member.accessor} ) ${postfix}
#end
#else
"\"${member.name}\":\"" + ${member.accessor} + "\"" ${postfix}
#end
#end
"}";
#else
return "{\"_class\":\"$classname\"}";
#end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment