Lista StringTemplate de atributos definidos para um determinado modelo

Eu estou começando com StringTemplate 4 e estou tentando criar um modelo de uma seqüência simples armazenada em um banco de dados. Eu uso algo assim:

STGroup group = new STGroupString(null, someTemplateString, '

Agora tudo funciona bem se eu definir tudo ou menos que o atributo definido para o templatesomeTemplateName. Agora, se eu tentar adicionar um atributo que não existe, recebo a seguinte exceção:

no such attribute: fake
java.lang.IllegalArgumentException: no such attribute: fake
  ...

o que faz sentido. No entanto, parece que não há como saber de antemão quais atributos estão definidos para o modelosomeTemplateName. Eu estava esperando encontrar algo como:

bool isDef = st.isDefined(someAttribute);

mas não existe tal método. Estou correcto? Existe alguma maneira de contornar isso?

, '

Agora tudo funciona bem se eu definir tudo ou menos que o atributo definido para o templatesomeTemplateName. Agora, se eu tentar adicionar um atributo que não existe, recebo a seguinte exceção:

no such attribute: fake
java.lang.IllegalArgumentException: no such attribute: fake
  ...

o que faz sentido. No entanto, parece que não há como saber de antemão quais atributos estão definidos para o modelosomeTemplateName. Eu estava esperando encontrar algo como:

bool isDef = st.isDefined(someAttribute);

mas não existe tal método. Estou correcto? Existe alguma maneira de contornar isso?

); ST st = group.getInstanceOf(someTemplateName); st.add(someAttribute, someValue);

Agora tudo funciona bem se eu definir tudo ou menos que o atributo definido para o templatesomeTemplateName. Agora, se eu tentar adicionar um atributo que não existe, recebo a seguinte exceção:

no such attribute: fake
java.lang.IllegalArgumentException: no such attribute: fake
  ...

o que faz sentido. No entanto, parece que não há como saber de antemão quais atributos estão definidos para o modelosomeTemplateName. Eu estava esperando encontrar algo como:

bool isDef = st.isDefined(someAttribute);

mas não existe tal método. Estou correcto? Existe alguma maneira de contornar isso?

questionAnswers(2)

yourAnswerToTheQuestion