Skip to content

Commit f95d80d

Browse files
committed
rename true generic
1 parent 6003c0b commit f95d80d

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

generators/src/main/java/com/algolia/codegen/GenericPropagator.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ public class GenericPropagator {
1313
private GenericPropagator() {}
1414

1515
/**
16-
* Add the property x-true-generic to a model or property, meaning it should be replaced with T
16+
* Add the property x-propagated-generic to a model or property, meaning it should be replaced with T
1717
* directly
1818
*/
19-
private static void setIsTrueGeneric(IJsonSchemaValidationProperties property) {
19+
private static void setPropagatedGeneric(IJsonSchemaValidationProperties property) {
2020
if (property instanceof CodegenModel) {
21-
((CodegenModel) property).vendorExtensions.put("x-true-generic", true);
21+
((CodegenModel) property).vendorExtensions.put("x-propagated-generic", true);
2222
} else if (property instanceof CodegenProperty) {
23-
((CodegenProperty) property).vendorExtensions.put("x-true-generic", true);
23+
((CodegenProperty) property).vendorExtensions.put("x-propagated-generic", true);
2424
}
2525
}
2626

@@ -37,18 +37,18 @@ private static void setHasChildGeneric(IJsonSchemaValidationProperties property)
3737
}
3838

3939
/**
40-
* @return true if the vendor extensions of the property contains either x-true-generic or
40+
* @return true if the vendor extensions of the property contains either x-propagated-generic or
4141
* x-has-child-generic
4242
*/
4343
private static boolean hasGeneric(IJsonSchemaValidationProperties property) {
4444
if (property instanceof CodegenModel) {
4545
return (
46-
(boolean) ((CodegenModel) property).vendorExtensions.getOrDefault("x-true-generic", false) ||
46+
(boolean) ((CodegenModel) property).vendorExtensions.getOrDefault("x-propagated-generic", false) ||
4747
(boolean) ((CodegenModel) property).vendorExtensions.getOrDefault("x-has-child-generic", false)
4848
);
4949
} else if (property instanceof CodegenProperty) {
5050
return (
51-
(boolean) ((CodegenProperty) property).vendorExtensions.getOrDefault("x-true-generic", false) ||
51+
(boolean) ((CodegenProperty) property).vendorExtensions.getOrDefault("x-propagated-generic", false) ||
5252
(boolean) ((CodegenProperty) property).vendorExtensions.getOrDefault("x-has-child-generic", false)
5353
);
5454
}
@@ -64,18 +64,18 @@ private static CodegenModel propertyToModel(Map<String, CodegenModel> models, Co
6464
return models.get(prop.openApiType);
6565
}
6666

67-
private static boolean markTrueGeneric(IJsonSchemaValidationProperties model) {
67+
private static boolean markPropagatedGeneric(IJsonSchemaValidationProperties model) {
6868
CodegenProperty items = model.getItems();
6969
// if the items itself isn't generic, we recurse on it's items and properties until we reach the
7070
// end or find a generic property
71-
if (items != null && ((boolean) items.vendorExtensions.getOrDefault("x-is-generic", false) || markTrueGeneric(items))) {
72-
setIsTrueGeneric(model);
71+
if (items != null && ((boolean) items.vendorExtensions.getOrDefault("x-is-generic", false) || markPropagatedGeneric(items))) {
72+
setPropagatedGeneric(model);
7373
return true;
7474
}
7575
for (CodegenProperty var : model.getVars()) {
7676
// same thing for the var, if it's not a generic, we recurse on it until we find one
77-
if ((boolean) var.vendorExtensions.getOrDefault("x-is-generic", false) || markTrueGeneric(var)) {
78-
setIsTrueGeneric(model);
77+
if ((boolean) var.vendorExtensions.getOrDefault("x-is-generic", false) || markPropagatedGeneric(var)) {
78+
setPropagatedGeneric(model);
7979
return true;
8080
}
8181
}
@@ -121,7 +121,7 @@ private static Map<String, CodegenModel> convertToMap(List<ModelMap> models) {
121121
return modelsMap;
122122
}
123123

124-
/** Models and their members will be marked with either x-true-generic or x-has-child-generic */
124+
/** Models and their members will be marked with either x-propagated-generic or x-has-child-generic */
125125
public static void propagateGenericsToModels(Map<String, ModelsMap> modelsMap) {
126126
// We propagate generics in two phases:
127127
// 1. We mark the direct parent of the generic model to replace it with T
@@ -130,7 +130,7 @@ public static void propagateGenericsToModels(Map<String, ModelsMap> modelsMap) {
130130
Map<String, CodegenModel> models = convertToMap(modelsMap);
131131

132132
for (CodegenModel model : models.values()) {
133-
markTrueGeneric(model);
133+
markPropagatedGeneric(model);
134134
}
135135

136136
for (CodegenModel model : models.values()) {

templates/java/generic_type.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{{#vendorExtensions}}
2-
{{#isContainer}}{{#x-has-child-generic}}List<{{{complexType}}}<T>>{{/x-has-child-generic}}{{^x-has-child-generic}}{{#x-true-generic}}List<T>{{/x-true-generic}}{{^x-true-generic}}{{{datatypeWithEnum}}}{{/x-true-generic}}{{/x-has-child-generic}}{{/isContainer}}
2+
{{#isContainer}}{{#x-has-child-generic}}List<{{{complexType}}}<T>>{{/x-has-child-generic}}{{^x-has-child-generic}}{{#x-propagated-generic}}List<T>{{/x-propagated-generic}}{{^x-propagated-generic}}{{{datatypeWithEnum}}}{{/x-propagated-generic}}{{/x-has-child-generic}}{{/isContainer}}
33
{{^isContainer}}{{#x-is-generic}}T{{/x-is-generic}}{{^x-is-generic}}{{{datatypeWithEnum}}}{{/x-is-generic}}{{/isContainer}}
44
{{/vendorExtensions}}

0 commit comments

Comments
 (0)