Преобразование первой буквы в заглавную с использованием шаблона строки
Я использую файл шаблона String для создания файлов Java. Для этого я использую ANTLR. Код для одного из строковых шаблонов файла показан ниже:
package framework;
public abstract class Listener$GUIdriver.name$ {
$GUIdriver.commands:{ command |
public abstract void onNew$command.name;format="capital"$Command
($command.allParameter:{ param | $param.type.name$ newValue};separator=" , "$);
}; separator="\n"$
$GUIdriver.allDataAccess:{ dataAccess |
public abstract void onNew$dataAccess.dataAccessName;format="capital"$Request(String request);
}; separator="\n"$
}
Но это не дает эффекта format="capital"
.Как включить такие изменения? Нужно ли мне включать какой-либо пакет или файл? Я новичок в String Template & ANTLR.
1 ответ
Решение
Строка формата, которую вы хотите использовать - "cap"
format="cap"
Однако сначала вам нужно зарегистрировать StringRenderer:-)
stGroup.registerRenderer(String.class, new StringRenderer());
Более детально
Вот пример файла группы, testGroup.stg
:
group testGroup;
test(text) ::= <<
<text; format="cap">
>>
и вот пример его использования:
import org.stringtemplate.v4.*;
public class Test {
public static void main(String[] args) {
STGroup stGroup = new STGroupFile("testGroup.stg");
ST st = stGroup.getInstanceOf("test");
stGroup.registerRenderer(String.class, new StringRenderer());
st.add("text", "helloWorld"); // note lower case 'h'
System.out.println(st.render());
}
}
Это делает:
Привет, мир