File tree Expand file tree Collapse file tree 1 file changed +22
-1
lines changed
modules/swagger-codegen/src/main/java/io/swagger/codegen/v3 Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change 44import io .swagger .v3 .oas .models .media .Discriminator ;
55
66import java .util .ArrayList ;
7- import java .util .HashMap ;
87import java .util .List ;
98import java .util .Map ;
109import java .util .Objects ;
@@ -509,4 +508,26 @@ public boolean getIsComposedModel() {
509508 public void setIsComposedModel (boolean isComposedModel ) {
510509 this .isComposedModel = isComposedModel ;
511510 }
511+
512+ /**
513+ * Get the subtype name from the interface model
514+ * @return name : the name assigned to the class by the discriminator mapping or classname if mapping not found
515+ */
516+ public String getSubtypeName () {
517+ if (getInterfaceModels ()!=null ) {
518+ for (CodegenModel interfaceModel : getInterfaceModels ()) {
519+ if (interfaceModel .getDiscriminator () != null && interfaceModel .getDiscriminator ().getMapping () != null ) {
520+ String subTypeName = interfaceModel .getDiscriminator ().getMapping ().get (classname );
521+ if (subTypeName !=null ) {
522+ return subTypeName ;
523+ }
524+ }
525+ }
526+ }
527+ if (getParentModel ()!=null && getParentModel ().getDiscriminator ()!=null && getParentModel ().getDiscriminator ().getMapping ()!=null ) {
528+ String subTypeName = getParentModel ().getDiscriminator ().getMapping ().get (classname );
529+ return subTypeName !=null ?subTypeName :name ;
530+ }
531+ return name ;
532+ }
512533}
You can’t perform that action at this time.
0 commit comments