У меня довольно простой вопрос:
Скажем, у меня есть класс модели, определенный следующим образом:
public class Test{
private String testAttribute;
public Test(){
}
public String getFormattedTestAttribute(){
return testAttribute + "A nice formatted thingy"; //right, this is just an example
}
public void setTestAttribute(String value){
testAttribute = value;
}
}
Вы можете видеть, что у меня есть стандартный установщик для testProperty, но получатель имеет другое имя: getFormattedTestProperty ().
Можно ли в Jaxb / Moxy указать, какой геттер использовать для определенного свойства?
Я использую реализацию MOXy с файлом внешних привязок метаданных. В проекте, над которым я работаю, используется Castor. В файлах сопоставления Castor вы можете указать, какой метод получения / установки использовать следующим образом:
<field name="testAttribute"
get-method="getFormattedTestAttribute">
<bind-xml name="test-attribute" node="attribute"/>
</field>
Возможно ли то же самое с внешними метаданными moxy?
Если такой вид настройки не поддерживается, возможно ли пометить поле как доступное только для чтения, а другое - только для записи? чтобы я мог объявить свойство только для чтения с именем "formattedTestAttribute" и свойство только для записи с именем "testAttribute" в файл привязок метаданных?
<!-- read only property -->
<xml-element java-attribute="formattedTestAttribute" xml-path="@test-attribute" />
<!-- write only property -->
<xml-element java-attribute="testAttribute" xml-path="@test-attribute" />
Обратите внимание, что у меня очень ограниченный контроль над модельными классами.
Заранее спасибо за ваши ответы.