Skip to content

Commit 60ef593

Browse files
committed
Add serdable to enums, fixes #407
1 parent a8f4e77 commit 60ef593

File tree

63 files changed

+452
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+452
-1
lines changed

gen/main/java/issue/_331/StringWithEnum.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package issue._331;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum StringWithEnum {
56

67
A("A"),

gen/main/java/issue/_363/_false/EnumWithPrefix.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package issue._363._false;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumWithPrefix {
56

67
AAA_FOO("aaa_foo"),

gen/main/java/issue/_363/_false/EnumWithoutPrefix.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package issue._363._false;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumWithoutPrefix {
56

67
FOO("foo"),

gen/main/java/issue/_363/_true/EnumWithPrefix.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package issue._363._true;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumWithPrefix {
56

67
FOO("aaa_foo"),

gen/main/java/issue/_363/_true/EnumWithoutPrefix.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package issue._363._true;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumWithoutPrefix {
56

67
FOO("foo"),

gen/main/java/issue/_407/Cat.java

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package issue._407;
2+
3+
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
5+
public final class Cat implements Pet {
6+
7+
@com.fasterxml.jackson.annotation.JsonProperty("hunts")
8+
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
9+
private java.lang.Boolean hunts;
10+
11+
@com.fasterxml.jackson.annotation.JsonProperty("age")
12+
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
13+
private java.lang.Integer age;
14+
15+
@Override
16+
public PetType getPetType() {
17+
return PetType.CAT;
18+
}
19+
20+
// methods
21+
22+
@Override
23+
public boolean equals(Object object) {
24+
if (object == this) {
25+
return true;
26+
}
27+
if (object == null || getClass() != object.getClass()) {
28+
return false;
29+
}
30+
Cat other = (Cat) object;
31+
return java.util.Objects.equals(hunts, other.hunts)
32+
&& java.util.Objects.equals(age, other.age);
33+
}
34+
35+
@Override
36+
public int hashCode() {
37+
return java.util.Objects.hash(hunts, age);
38+
}
39+
40+
@Override
41+
public java.lang.String toString() {
42+
return new java.lang.StringBuilder()
43+
.append("Cat[")
44+
.append("hunts=").append(hunts).append(",")
45+
.append("age=").append(age)
46+
.append("]")
47+
.toString();
48+
}
49+
50+
// fluent
51+
52+
public Cat hunts(java.lang.Boolean newHunts) {
53+
this.hunts = newHunts;
54+
return this;
55+
}
56+
57+
public Cat age(java.lang.Integer newAge) {
58+
this.age = newAge;
59+
return this;
60+
}
61+
62+
// getter/setter
63+
64+
public java.lang.Boolean getHunts() {
65+
return hunts;
66+
}
67+
68+
public void setHunts(java.lang.Boolean newHunts) {
69+
this.hunts = newHunts;
70+
}
71+
72+
public java.lang.Integer getAge() {
73+
return age;
74+
}
75+
76+
public void setAge(java.lang.Integer newAge) {
77+
this.age = newAge;
78+
}
79+
}

gen/main/java/issue/_407/Dog.java

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package issue._407;
2+
3+
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
5+
public final class Dog implements Pet {
6+
7+
@com.fasterxml.jackson.annotation.JsonProperty("bark")
8+
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
9+
private java.lang.Boolean bark;
10+
11+
@com.fasterxml.jackson.annotation.JsonProperty("breed")
12+
@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
13+
private Breed breed;
14+
15+
@Override
16+
public PetType getPetType() {
17+
return PetType.DOG;
18+
}
19+
20+
// methods
21+
22+
@Override
23+
public boolean equals(Object object) {
24+
if (object == this) {
25+
return true;
26+
}
27+
if (object == null || getClass() != object.getClass()) {
28+
return false;
29+
}
30+
Dog other = (Dog) object;
31+
return java.util.Objects.equals(bark, other.bark)
32+
&& java.util.Objects.equals(breed, other.breed);
33+
}
34+
35+
@Override
36+
public int hashCode() {
37+
return java.util.Objects.hash(bark, breed);
38+
}
39+
40+
@Override
41+
public java.lang.String toString() {
42+
return new java.lang.StringBuilder()
43+
.append("Dog[")
44+
.append("bark=").append(bark).append(",")
45+
.append("breed=").append(breed)
46+
.append("]")
47+
.toString();
48+
}
49+
50+
// fluent
51+
52+
public Dog bark(java.lang.Boolean newBark) {
53+
this.bark = newBark;
54+
return this;
55+
}
56+
57+
public Dog breed(Breed newBreed) {
58+
this.breed = newBreed;
59+
return this;
60+
}
61+
62+
// getter/setter
63+
64+
public java.lang.Boolean getBark() {
65+
return bark;
66+
}
67+
68+
public void setBark(java.lang.Boolean newBark) {
69+
this.bark = newBark;
70+
}
71+
72+
public Breed getBreed() {
73+
return breed;
74+
}
75+
76+
public void setBreed(Breed newBreed) {
77+
this.breed = newBreed;
78+
}
79+
80+
@io.micronaut.serde.annotation.Serdeable
81+
public enum Breed {
82+
83+
DINGO("Dingo"),
84+
HUSKY("Husky"),
85+
RETRIEVER("Retriever"),
86+
SHEPHERD("Shepherd");
87+
88+
public static final java.lang.String DINGO_VALUE = "Dingo";
89+
public static final java.lang.String HUSKY_VALUE = "Husky";
90+
public static final java.lang.String RETRIEVER_VALUE = "Retriever";
91+
public static final java.lang.String SHEPHERD_VALUE = "Shepherd";
92+
93+
private final java.lang.String value;
94+
95+
private Breed(java.lang.String value) {
96+
this.value = value;
97+
}
98+
99+
@com.fasterxml.jackson.annotation.JsonCreator
100+
public static Breed toEnum(java.lang.String value) {
101+
return toOptional(value).orElseThrow(() -> new IllegalArgumentException("Unknown value '" + value + "'."));
102+
}
103+
104+
public static java.util.Optional<Breed> toOptional(java.lang.String value) {
105+
return java.util.Arrays
106+
.stream(values())
107+
.filter(e -> e.value.equals(value))
108+
.findAny();
109+
}
110+
111+
@com.fasterxml.jackson.annotation.JsonValue
112+
public java.lang.String getValue() {
113+
return value;
114+
}
115+
}
116+
}

gen/main/java/issue/_407/Pet.java

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package issue._407;
2+
3+
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@com.fasterxml.jackson.annotation.JsonTypeInfo(use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.EXISTING_PROPERTY, property = "petType")
5+
@com.fasterxml.jackson.annotation.JsonSubTypes({
6+
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(value = Cat.class, name = "Cat"),
7+
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(value = Dog.class, name = "Dog")
8+
})
9+
public sealed interface Pet permits Cat, Dog {
10+
11+
@com.fasterxml.jackson.annotation.JsonProperty("petType")
12+
PetType getPetType();
13+
}

gen/main/java/issue/_407/PetType.java

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package issue._407;
2+
3+
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
5+
public enum PetType {
6+
7+
DOG("Dog"),
8+
CAT("Cat");
9+
10+
public static final java.lang.String DOG_VALUE = "Dog";
11+
public static final java.lang.String CAT_VALUE = "Cat";
12+
13+
private final java.lang.String value;
14+
15+
private PetType(java.lang.String value) {
16+
this.value = value;
17+
}
18+
19+
@com.fasterxml.jackson.annotation.JsonCreator
20+
public static PetType toEnum(java.lang.String value) {
21+
return toOptional(value).orElseThrow(() -> new IllegalArgumentException("Unknown value '" + value + "'."));
22+
}
23+
24+
public static java.util.Optional<PetType> toOptional(java.lang.String value) {
25+
return java.util.Arrays
26+
.stream(values())
27+
.filter(e -> e.value.equals(value))
28+
.findAny();
29+
}
30+
31+
@com.fasterxml.jackson.annotation.JsonValue
32+
public java.lang.String getValue() {
33+
return value;
34+
}
35+
}

gen/main/java/issue/_414/ModelPrefixModelObjectModelSuffix.java

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package issue._414;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4-
@io.micronaut.serde.annotation.Serdeable
54
public class ModelPrefixModelObjectModelSuffix {
65

76
@com.fasterxml.jackson.annotation.JsonProperty("a")

gen/main/java/testmodel/micronaut_pojo/EnumerationInteger.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationInteger {
56

67
NUMBER_MINUS_2147483648(-2147483648),

gen/main/java/testmodel/micronaut_pojo/EnumerationModel.java

+2
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public void setEmbeddedDefault(EmbeddedDefault newEmbeddedDefault) {
110110
this.embeddedDefault = newEmbeddedDefault;
111111
}
112112

113+
@io.micronaut.serde.annotation.Serdeable
113114
public enum Embedded {
114115

115116
FIRST("first"),
@@ -142,6 +143,7 @@ public java.lang.String getValue() {
142143
}
143144
}
144145

146+
@io.micronaut.serde.annotation.Serdeable
145147
public enum EmbeddedDefault {
146148

147149
THREE("three"),

gen/main/java/testmodel/micronaut_pojo/EnumerationNumber.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationNumber {
56

67
NUMBER_MINUS_1(-1D),

gen/main/java/testmodel/micronaut_pojo/EnumerationString.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationString {
56

67
ONE("one"),

gen/main/java/testmodel/micronaut_pojo/EnumerationStringDefault.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationStringDefault {
56

67
THREE("three"),

gen/main/java/testmodel/micronaut_pojo/InheritanceWithEnumTypeEnum.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum InheritanceWithEnumTypeEnum {
56

67
INHERITANCE1("Inheritance1"),

gen/main/java/testmodel/micronaut_pojo/PropertyTypeOne.java

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public void setType(Type newType) {
5353
this.type = newType;
5454
}
5555

56+
@io.micronaut.serde.annotation.Serdeable
5657
public enum Type {
5758

5859
ONE("one");

gen/main/java/testmodel/micronaut_pojo/PropertyTypeTwo.java

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public void setType(Type newType) {
5353
this.type = newType;
5454
}
5555

56+
@io.micronaut.serde.annotation.Serdeable
5657
public enum Type {
5758

5859
TWO("two");

gen/main/java/testmodel/micronaut_pojo_constants/EnumerationInteger.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo_constants;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationInteger {
56

67
NUMBER_MINUS_2147483648(-2147483648),

gen/main/java/testmodel/micronaut_pojo_constants/EnumerationModel.java

+2
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public void setEmbeddedDefault(EmbeddedDefault newEmbeddedDefault) {
115115
this.embeddedDefault = newEmbeddedDefault;
116116
}
117117

118+
@io.micronaut.serde.annotation.Serdeable
118119
public enum Embedded {
119120

120121
FIRST("first"),
@@ -147,6 +148,7 @@ public java.lang.String getValue() {
147148
}
148149
}
149150

151+
@io.micronaut.serde.annotation.Serdeable
150152
public enum EmbeddedDefault {
151153

152154
THREE("three"),

gen/main/java/testmodel/micronaut_pojo_constants/EnumerationNumber.java

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package testmodel.micronaut_pojo_constants;
22

33
@jakarta.annotation.Generated("org.openapitools.codegen.languages.MicronautCodegen")
4+
@io.micronaut.serde.annotation.Serdeable
45
public enum EnumerationNumber {
56

67
NUMBER_MINUS_1(-1D),

0 commit comments

Comments
 (0)