github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/jersey2-experimental/oneof_model.mustache (about) 1 import javax.ws.rs.core.GenericType; 2 import javax.ws.rs.core.Response; 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.Map; 6 7 {{>additionalModelTypeAnnotations}}{{>generatedAnnotation}}{{>xmlAnnotation}} 8 public class {{classname}} extends AbstractOpenApiSchema{{#vendorExtensions.x-implements}}, {{{.}}}{{/vendorExtensions.x-implements}} { 9 10 // store a list of schema names defined in oneOf 11 public final static Map<String, GenericType> schemas = new HashMap<String, GenericType>(); 12 13 public {{classname}}() { 14 super("oneOf"); 15 } 16 17 static { 18 {{#oneOf}} 19 schemas.put("{{{.}}}", new GenericType<{{{.}}}>() { 20 }); 21 {{/oneOf}} 22 } 23 24 @Override 25 public Map<String, GenericType> getSchemas() { 26 return {{classname}}.schemas; 27 } 28 29 @Override 30 public void setActualInstance(Object instance) { 31 {{#oneOf}} 32 if (instance instanceof {{{.}}}) { 33 super.setActualInstance(instance); 34 return; 35 } 36 37 {{/oneOf}} 38 throw new RuntimeException("Invalid instance type. Must be {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}"); 39 } 40 41 }