View Javadoc

1   package com.atlassian.plugins.rest.doclet.generators.schema.beans.artificial;
2   
3   import java.util.Objects;
4   
5   import com.google.common.base.MoreObjects;
6   import org.codehaus.jackson.annotate.JsonAutoDetect;
7   import org.codehaus.jackson.annotate.JsonCreator;
8   import org.codehaus.jackson.annotate.JsonProperty;
9   import org.codehaus.jackson.node.ObjectNode;
10  
11  @JsonAutoDetect
12  public class BeanWithObjectNode
13  {
14      private final ObjectNode properties;
15  
16      @JsonCreator
17      public BeanWithObjectNode(@JsonProperty ("properties") ObjectNode properties)
18      {
19          this.properties = properties;
20      }
21  
22      public ObjectNode getProperties()
23      {
24          return properties;
25      }
26  
27      public static BeanWithObjectNode.Builder builder()
28      {
29          return new BeanWithObjectNode.Builder();
30      }
31  
32      public static BeanWithObjectNode.Builder builder(BeanWithObjectNode data)
33      {
34          return new BeanWithObjectNode.Builder(data);
35      }
36  
37      @Override
38      public boolean equals(Object o)
39      {
40          if (this == o) { return true; }
41          if (o == null || getClass() != o.getClass()) { return false; }
42  
43          BeanWithObjectNode that = (BeanWithObjectNode) o;
44  
45          return Objects.equals(this.getProperties(), that.getProperties());
46      }
47  
48      @Override
49      public int hashCode()
50      {
51          return Objects.hash(getProperties());
52      }
53  
54      @Override
55      public String toString()
56      {
57          return MoreObjects.toStringHelper(this)
58                  .add("properties", getProperties())
59                  .toString();
60      }
61  
62      public static final class Builder
63      {
64  
65          private ObjectNode properties;
66  
67          private Builder() {}
68  
69          private Builder(BeanWithObjectNode initialData)
70          {
71  
72              this.properties = initialData.getProperties();
73          }
74  
75          public Builder setProperties(ObjectNode properties)
76          {
77              this.properties = properties;
78              return this;
79          }
80  
81          public BeanWithObjectNode build()
82          {
83              return new BeanWithObjectNode(properties);
84          }
85      }
86  }