Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_OBJECT)
- @JsonSubTypes({
- @JsonSubTypes.Type(value = SpecialFilter1.class, name = "SpecialFilter1"),
- @JsonSubTypes.Type(value = SpecialFilter2.class, name = "SpecialFilter2")
- })
- abstract class Filter {
- }
- @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_OBJECT)
- @JsonSubTypes({
- @JsonSubTypes.Type(value = SpecialExpression1.class, name = "SpecialExpression1"),
- @JsonSubTypes.Type(value = SpecialExpression2.class, name = "SpecialExpression2")
- })
- abstract class Expression {
- }
- @JacksonXmlRootElement(localName = "SpecialFilter1")
- class SpecialFilter1 extends Filter{
- private List<Expression> expressions;
- @JacksonXmlElementWrapper(useWrapping = false)
- @JacksonXmlProperty(localName = "Expression")
- public List<Expression> getExpressions() {
- return expressions;
- }
- public void setExpressions(List<Expression> expressions) {
- this.expressions = expressions;
- }
- }
- @JacksonXmlRootElement(localName = "SpecialFilter2")
- class SpecialFilter2 extends Filter{
- private Expression expression;
- @JacksonXmlProperty(localName = "Expression")
- public Expression getExpression() {
- return expression;
- }
- public void setExpression(Expression expression) {
- this.expression = expression;
- }
- }
- @JacksonXmlRootElement(localName = "SpecialExpression1")
- class SpecialExpression1 extends Expression{
- @JacksonXmlText
- public String value;
- }
- @JacksonXmlRootElement(localName = "SpecialExpression2")
- class SpecialExpression2 extends Expression{
- @JacksonXmlText
- public String value;
- @JacksonXmlProperty(localName = "type", isAttribute = true)
- public String type;
- }
- @JacksonXmlRootElement(localName = "Query")
- class Query{
- private List<Filter> filters;
- @JacksonXmlElementWrapper(useWrapping = false)
- @JacksonXmlProperty(localName = "Filter")
- public List<Filter> getFilters() {
- return filters;
- }
- public void setFilters(List<Filter> filters) {
- this.filters = filters;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement