Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_OBJECT)
  2. @JsonSubTypes({
  3. @JsonSubTypes.Type(value = SpecialFilter1.class, name = "SpecialFilter1"),
  4. @JsonSubTypes.Type(value = SpecialFilter2.class, name = "SpecialFilter2")
  5. })
  6. abstract class Filter {
  7.  
  8. }
  9.  
  10. @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.WRAPPER_OBJECT)
  11. @JsonSubTypes({
  12. @JsonSubTypes.Type(value = SpecialExpression1.class, name = "SpecialExpression1"),
  13. @JsonSubTypes.Type(value = SpecialExpression2.class, name = "SpecialExpression2")
  14. })
  15. abstract class Expression {
  16.  
  17. }
  18.  
  19. @JacksonXmlRootElement(localName = "SpecialFilter1")
  20. class SpecialFilter1 extends Filter{
  21. private List<Expression> expressions;
  22.  
  23. @JacksonXmlElementWrapper(useWrapping = false)
  24. @JacksonXmlProperty(localName = "Expression")
  25. public List<Expression> getExpressions() {
  26. return expressions;
  27. }
  28.  
  29. public void setExpressions(List<Expression> expressions) {
  30. this.expressions = expressions;
  31. }
  32. }
  33.  
  34. @JacksonXmlRootElement(localName = "SpecialFilter2")
  35. class SpecialFilter2 extends Filter{
  36. private Expression expression;
  37.  
  38. @JacksonXmlProperty(localName = "Expression")
  39. public Expression getExpression() {
  40. return expression;
  41. }
  42.  
  43. public void setExpression(Expression expression) {
  44. this.expression = expression;
  45. }
  46. }
  47.  
  48. @JacksonXmlRootElement(localName = "SpecialExpression1")
  49. class SpecialExpression1 extends Expression{
  50. @JacksonXmlText
  51. public String value;
  52. }
  53.  
  54. @JacksonXmlRootElement(localName = "SpecialExpression2")
  55. class SpecialExpression2 extends Expression{
  56. @JacksonXmlText
  57. public String value;
  58.  
  59. @JacksonXmlProperty(localName = "type", isAttribute = true)
  60. public String type;
  61. }
  62.  
  63. @JacksonXmlRootElement(localName = "Query")
  64. class Query{
  65. private List<Filter> filters;
  66.  
  67. @JacksonXmlElementWrapper(useWrapping = false)
  68. @JacksonXmlProperty(localName = "Filter")
  69. public List<Filter> getFilters() {
  70. return filters;
  71. }
  72.  
  73. public void setFilters(List<Filter> filters) {
  74. this.filters = filters;
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement