У меня есть класс, который наследуется от абстрактного класса, который имеет универсальное поле. Если я сериализую это поле в XML, у меня всегда будут теги xmlns в качестве атрибутов внутри элемента xml:
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:decimal">10.0</value>
Это мой класс, который сериализуется:
public class Limit extends AbstractLimit<BigDecimal> {
@Override
public String toString() {
return super.toStringHelper().toString();
}
}
А вот абстрактный родительский класс:
public abstract class AbstractLimit<T> {
private Unit unit;
private T valueDefault;
private T valueLimit;
@Override
public abstract String toString();
protected ToStringHelper toStringHelper() {
return MoreObjects.toStringHelper(this)
.add("unit", unit)
.add("valueDefault", valueDefault)
.add("valueLimit", valueHlh)
}
public Unit getUnit() {
return unit;
}
public void setUnit(Unit unit) {
this.unit = unit;
}
public T getValueDefault() {
return valueDefault;
}
public void setValueDefault(T valueDefault) {
this.valueDefault = valueDefault;
}
public T getValueLimit() {
return valueLimit;
}
public void setValueLimit(T valueLimit) {
this.valueLimit = valueLimit;
}
}
Есть ли возможность удалить эти теги? Я думаю, это как-то связано с общими типами в абстрактном классе, потому что я получаю эти теги только для этих классов и этих полей.