Skip to content

Commit 7cc0bcf

Browse files
committed
Use separate files to store default templates
1 parent 8688468 commit 7cc0bcf

File tree

7 files changed

+230
-420
lines changed

7 files changed

+230
-420
lines changed

resources/template/GetterAndSetter.vm

Lines changed: 0 additions & 30 deletions
This file was deleted.
Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
## Tutorial for writing your templates
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<codeTemplateList>
3+
<templates>
4+
<templates version="1.3">
5+
<id>26838331-5f44-406c-a7f8-57df74eb084f</id>
6+
<name>HUESerialization</name>
7+
<fileNamePattern>.*\.java$</fileNamePattern>
8+
<type>body</type>
9+
<enabled>true</enabled>
10+
<template>## Tutorial for writing your templates
211
##
312
## 1. First you need to know basic syntax of velocity[1].
413
## 2. Then it is necessary to understand the variable that CodeGenerator provides
@@ -15,14 +24,14 @@
1524
## - class0: ClassEntry The class that the action is triggered upon
1625
## - raw: PsiClass
1726
## - String packageName
18-
## - importList: List<String>
19-
## - fields: List<FieldEntry>
20-
## - allFields: List<FieldEntry>
21-
## - methods: List<MethodEntry>
22-
## - allMethods: List<MethodEntry>
23-
## - innerClasses: List<ClassEntry>
24-
## - allInnerClasses: List<ClassEntry>
25-
## - typeParamList: List<String>
27+
## - importList: List&lt;String&gt;
28+
## - fields: List&lt;FieldEntry&gt;
29+
## - allFields: List&lt;FieldEntry&gt;
30+
## - methods: List&lt;MethodEntry&gt;
31+
## - allMethods: List&lt;MethodEntry&gt;
32+
## - innerClasses: List&lt;ClassEntry&gt;
33+
## - allInnerClasses: List&lt;ClassEntry&gt;
34+
## - typeParamList: List&lt;String&gt;
2635
## - name: String
2736
## - superName: String
2837
## - superQualifiedName: String
@@ -100,9 +109,9 @@
100109
## Variables for Body Mode
101110
## -----------------------
102111
## - class0: ClassEntry The current class
103-
## - fields: List<FieldEntry> All selected fields
104-
## - methods: List<MethodEntry> All selected methods
105-
## - members: List<MemberEntry> selected fields+methods
112+
## - fields: List&lt;FieldEntry&gt; All selected fields
113+
## - methods: List&lt;MethodEntry&gt; All selected methods
114+
## - members: List&lt;MemberEntry&gt; selected fields+methods
106115
## - class: ClassElement For compatibility only, prefer to use class0 instead
107116
## - classname: String For compatibility only, the class name of current class
108117
## - FQClassname: String For compatibility only, Full Qualified Class Name
@@ -130,13 +139,13 @@ private static final int CURR_VERSION = 0;
130139
@Override public void write(com.worksap.company.framework.serializer.wrapper.OutputSource outputSource) {
131140
outputSource.writeInt(CURR_VERSION);
132141
#foreach( $member in $members )
133-
#set($memberType = $member.type.split("<").get(0))
142+
#set($memberType = $member.type.split("&lt;").get(0))
134143
#set($type = $javaPsiFacade.findClass($memberType, $global))
135144
#if ($member.primitive)
136145
outputSource.write${StringUtil.capitalizeWithJavaBeanConvention($memberType)}($member.name);
137146
#elseif($member.isString())
138147
outputSource.writeString($member.name);
139-
#elseif($type == $null || $type.isInterface() || $type.getModifierList().hasModifierProperty("abstract") || $type.getTypeParameterList().getTextLength() > 0)
148+
#elseif($type == $null || $type.isInterface() || $type.getModifierList().hasModifierProperty("abstract") || $type.getTypeParameterList().getTextLength() &gt; 0)
140149
outputSource.writeGenericObject($member.name);
141150
#else
142151
outputSource.writeConcreteObject($member.name, ${memberType}.class);
@@ -148,17 +157,53 @@ private static final int CURR_VERSION = 0;
148157
int version = inputSource.readInt();
149158
if (version == 0) {
150159
#foreach( $member in $members )
151-
#set($memberType = $member.type.split("<").get(0))
160+
#set($memberType = $member.type.split("&lt;").get(0))
152161
#set($type = $javaPsiFacade.findClass($memberType, $global))
153162
#if ($member.primitive)
154163
$member.name = inputSource.read${StringUtil.capitalizeWithJavaBeanConvention($memberType)}();
155164
#elseif($member.isString())
156165
$member.name = inputSource.readString();
157-
#elseif($type == $null || $type.isInterface() || $type.getModifierList().hasModifierProperty("abstract") || $type.getTypeParameterList().getTextLength() > 0)
166+
#elseif($type == $null || $type.isInterface() || $type.getModifierList().hasModifierProperty("abstract") || $type.getTypeParameterList().getTextLength() &gt; 0)
158167
$member.name = ($member.type)inputSource.readGenericObject();
159168
#else
160169
$member.name = inputSource.readConcreteObject(${memberType}.class);
161170
#end
162171
#end
163172
}
164-
}
173+
}</template>
174+
<fileEncoding>UTF-8</fileEncoding>
175+
<pipeline>
176+
<memberSelection>
177+
<filterConstantField>true</filterConstantField>
178+
<filterEnumField>false</filterEnumField>
179+
<filterTransientModifier>false</filterTransientModifier>
180+
<filterStaticModifier>true</filterStaticModifier>
181+
<filterLoggers>true</filterLoggers>
182+
<filterFieldName></filterFieldName>
183+
<filterFieldType></filterFieldType>
184+
<filterMethodName></filterMethodName>
185+
<filterMethodType></filterMethodType>
186+
<enableMethods>false</enableMethods>
187+
<providerTemplate>## set `availableMembers` to provide the members to select
188+
## set `selectedMembers` to select the members initially, set nothing to select all
189+
## Note that it should be type List&lt;PsiMember&gt; or List&lt;MemberEntry&gt;
190+
## And the selected result will be
191+
## - fields1: List&lt;FieldEntry&gt; where `1` is the step number that you specified
192+
## - methods1: List&lt;MethodEntry&gt;
193+
## - members: List&lt;MemberEntry&gt;
194+
#set($availableMembers = $class0.members)
195+
</providerTemplate>
196+
<allowMultiSelection>true</allowMultiSelection>
197+
<allowEmptySelection>true</allowEmptySelection>
198+
<sortElements>0</sortElements>
199+
<postfix>1</postfix>
200+
<enabled>true</enabled>
201+
</memberSelection>
202+
</pipeline>
203+
<insertNewMethodOption>AT_CARET</insertNewMethodOption>
204+
<whenDuplicatesOption>ASK</whenDuplicatesOption>
205+
<jumpToMethod>true</jumpToMethod>
206+
<classNameVm>$class0.name</classNameVm>
207+
</templates>
208+
</templates>
209+
</codeTemplateList>

0 commit comments

Comments
 (0)