Во время инкапсуляции переменных представления в класс POJO и предоставления его процессору шаблонов, возможно ли ограничить методы, которые могут вызываться механизмом шаблонов, с помощью пользовательской аннотации?Ограничение видимости с помощью закрытого метода невозможно из-за наследования.
Я использую FreeMarker с Spring MVC.
Процессор шаблонов получает класс контроллера POJO от контроллера:
model.addAttribute("view", new SamplePOJO(this));
Класс SamplePOJO:
public final class SamplePOJO extends View
{
public SamplePOJO(MasterController<?> _inject)
{
super(_inject);
}
@CustomAnnotationOnValidMethods
public String getValid_value()
{
return "valid call";
}
@Override
public String getInvalid_value()
{
return "invalid call";
}
}
Шаблон:
<p>Valid invocation: ${view.valid_value}</p>
<p>Also valid but I want this to be impossible: ${view.invalid_value}</p>