Implementação @Validate
Closed this issue · 2 comments
megaterrarc commented
Tenho a necessidade de importar vários arquivos XML de diferentes origens. Porem, necessito extrair as informações do XML sem validar campos requeridos, pois irei tratar informações especificas.
descrito anteriormente #684
Como sugestão de feature pensei em trocar os required " Element(name="XXX", required=true) " para a anotação @Validate e criar uma variável de configuração para definir se irá validar ou não.
@Root
public class PropertyMap {
private Map<String, Property> map;
@ElementList
private List<Property> list;
public PropertyMap() {
this.map = new HashMap<String, Entry>();
}
@Validate
public void validate() {
List<String> keys = new ArrayList<String>();
for(Property entry : list) {
String key = entry.getKey();
if(keys.contains(key)) {
throw new PersistenceException("Duplicate key %s", key);
}
keys.put(key);
}
}
@Commit
public void build() {
for(Property entry : list) {
insert(entry);
}
}
public void insert(Property entry) {
map.put(entry.getName(), entry);
}
public String getProperty(String name) {
return map.get(name).getValue();
}
}
Gostaria da sugestão de todos.
fincatto commented
Bom dia @megaterrarc.
Em qual caso um item que, pela especificação é obrigatório, não estaria presente no xml?
fincatto commented
Fechado por falta de retorno.