1
1
package io .javaoperatorsdk .operator .processing ;
2
2
3
3
import java .util .Objects ;
4
+ import java .util .Optional ;
4
5
5
6
import io .fabric8 .kubernetes .api .Pluralize ;
6
7
import io .fabric8 .kubernetes .api .model .HasMetadata ;
@@ -22,7 +23,7 @@ public GroupVersionKind(String apiVersion, String kind) {
22
23
this .group = groupAndVersion [0 ];
23
24
this .version = groupAndVersion [1 ];
24
25
}
25
- this .plural = Pluralize . toPlural ( kind ) ;
26
+ this .plural = null ;
26
27
this .apiVersion = apiVersion ;
27
28
}
28
29
@@ -34,7 +35,7 @@ public GroupVersionKind(String group, String version, String kind, String plural
34
35
this .group = group ;
35
36
this .version = version ;
36
37
this .kind = kind ;
37
- this .plural = plural != null ? plural : Pluralize . toPlural ( kind ) ;
38
+ this .plural = plural ;
38
39
this .apiVersion = (group == null || group .isBlank ()) ? version : group + "/" + version ;
39
40
}
40
41
@@ -56,8 +57,16 @@ public String getKind() {
56
57
return kind ;
57
58
}
58
59
59
- public String getPlural () {
60
- return plural ;
60
+ /**
61
+ * Returns the plural form associated with the kind if it has been provided explicitly (either
62
+ * manually by the user, or determined from the associated resource class definition)
63
+ *
64
+ * @return {@link Optional#empty()} if the plural form was not provided explicitly (in which case,
65
+ * it could be approximated by using {@link Pluralize#toPlural(String)} on the kind), or
66
+ * the plural form if it was provided explicitly
67
+ */
68
+ public Optional <String > getPlural () {
69
+ return Optional .ofNullable (plural );
61
70
}
62
71
63
72
public String apiVersion () {
0 commit comments