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 }