Skip to content

Commit 8f0169e

Browse files
committed
subtypeName for java interface discriminator
1 parent b67b9c2 commit 8f0169e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/CodegenModel.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,4 +509,20 @@ public boolean getIsComposedModel() {
509509
public void setIsComposedModel(boolean isComposedModel) {
510510
this.isComposedModel = isComposedModel;
511511
}
512+
513+
/**
514+
* Get the subtype name from the interface model
515+
* @return name : the name assigned to the class by the discriminator mapping or classname if mapping not found
516+
*/
517+
public String getSubtypeName() {
518+
if (getInterfaceModels()!=null) {
519+
for (CodegenModel interfaceModel : getInterfaceModels()) {
520+
if (interfaceModel.getDiscriminator() != null && interfaceModel.getDiscriminator().getMapping() != null) {
521+
String name = interfaceModel.getDiscriminator().getMapping().get(classname);
522+
return name != null ? name : classname;
523+
}
524+
}
525+
}
526+
return classname;
527+
}
512528
}

0 commit comments

Comments
 (0)