mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +00:00 
			
		
		
		
	update discriminator to discriminatorName (#142)
This commit is contained in:
		
							parent
							
								
									74075c087e
								
							
						
					
					
						commit
						6e2ca294b5
					
				@ -71,7 +71,7 @@ public class JSON {
 | 
			
		||||
                classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
 | 
			
		||||
                return getClassByDiscriminator(
 | 
			
		||||
                                           classByDiscriminatorValue,
 | 
			
		||||
                                           getDiscriminatorValue(readElement, "{{discriminator}}"));
 | 
			
		||||
                                           getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
        {{/parent}}
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@ public class JSON {
 | 
			
		||||
                classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
 | 
			
		||||
                return getClassByDiscriminator(
 | 
			
		||||
                            classByDiscriminatorValue,
 | 
			
		||||
                            getDiscriminatorValue(readElement, "{{discriminator}}"));
 | 
			
		||||
                            getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
        {{/parent}}
 | 
			
		||||
 | 
			
		||||
@ -74,7 +74,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
 | 
			
		||||
  {{/parent}}
 | 
			
		||||
  {{#gson}}
 | 
			
		||||
  {{#discriminator}}
 | 
			
		||||
    this.{{discriminator}} = this.getClass().getSimpleName();
 | 
			
		||||
    this.{{{discriminatorName}}} = this.getClass().getSimpleName();
 | 
			
		||||
  {{/discriminator}}
 | 
			
		||||
  {{/gson}}
 | 
			
		||||
  }
 | 
			
		||||
@ -83,7 +83,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
 | 
			
		||||
  {{#gson}}
 | 
			
		||||
  {{#discriminator}}
 | 
			
		||||
  public {{classname}}() {
 | 
			
		||||
    this.{{discriminator}} = this.getClass().getSimpleName();
 | 
			
		||||
    this.{{{discriminatorName}}} = this.getClass().getSimpleName();
 | 
			
		||||
  }
 | 
			
		||||
  {{/discriminator}}
 | 
			
		||||
  {{/gson}}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [DataContract]
 | 
			
		||||
    {{#discriminator}}
 | 
			
		||||
    [JsonConverter(typeof(JsonSubtypes), "{{discriminator}}")]{{#children}}
 | 
			
		||||
    [JsonConverter(typeof(JsonSubtypes), "{{{discriminatorName}}}")]{{#children}}
 | 
			
		||||
    [JsonSubtypes.KnownSubType(typeof({{classname}}), "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}")]{{/children}}
 | 
			
		||||
    {{/discriminator}}
 | 
			
		||||
    {{#generatePropertyChanged}}
 | 
			
		||||
 | 
			
		||||
@ -6,13 +6,13 @@ type {{classname}}
 | 
			
		||||
 | 
			
		||||
{{classVarName}}Decoder : Decoder {{classname}}
 | 
			
		||||
{{classVarName}}Decoder =
 | 
			
		||||
    Decode.field "{{discriminator}}" Decode.string
 | 
			
		||||
    Decode.field "{{{discriminatorName}}}" Decode.string
 | 
			
		||||
        |> Decode.andThen {{classVarName}}TypeDecoder
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{{classVarName}}TypeDecoder : String -> Decoder {{classname}}
 | 
			
		||||
{{classVarName}}TypeDecoder {{discriminator}} =
 | 
			
		||||
    case {{discriminator}} of
 | 
			
		||||
{{classVarName}}TypeDecoder {{{discriminatorName}}} =
 | 
			
		||||
    case {{{discriminatorName}}} of
 | 
			
		||||
{{#children}}
 | 
			
		||||
        "{{vendorExtensions.x-discriminator-value}}" ->
 | 
			
		||||
            Decode.map {{classname}}Type {{classVarName}}Decoder
 | 
			
		||||
@ -20,8 +20,8 @@ type {{classname}}
 | 
			
		||||
{{/children}}
 | 
			
		||||
        _ ->
 | 
			
		||||
            Decode.fail <|
 | 
			
		||||
                "Trying to decode {{classname}}, but {{discriminator}} "
 | 
			
		||||
                ++ toString {{discriminator}} ++ " is not supported."
 | 
			
		||||
                "Trying to decode {{classname}}, but {{{discriminatorName}}} "
 | 
			
		||||
                ++ toString {{{discriminatorName}}} ++ " is not supported."
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{{classVarName}}Encoder : {{classname}} -> Encode.Value
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{{#jackson}}
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{discriminator}}", visible = true )
 | 
			
		||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "{{{discriminatorName}}}", visible = true )
 | 
			
		||||
@JsonSubTypes({
 | 
			
		||||
  {{#children}}
 | 
			
		||||
  @JsonSubTypes.Type(value = {{classname}}.class, name = "{{^vendorExtensions.x-discriminator-value}}{{name}}{{/vendorExtensions.x-discriminator-value}}{{#vendorExtensions.x-discriminator-value}}{{{vendorExtensions.x-discriminator-value}}}{{/vendorExtensions.x-discriminator-value}}"),
 | 
			
		||||
 | 
			
		||||
@ -23,7 +23,7 @@
 | 
			
		||||
 * Maps "discriminator" value to the sub-class name, so that inheritance is supported.
 | 
			
		||||
 */
 | 
			
		||||
- (id)initWithDictionary:(NSDictionary *)dict error:(NSError *__autoreleasing *)err {
 | 
			
		||||
    NSString * discriminatedClassName = [dict valueForKey:@"{{discriminator}}"];
 | 
			
		||||
    NSString * discriminatedClassName = [dict valueForKey:@"{{{discriminatorName}}}"];
 | 
			
		||||
    if(discriminatedClassName == nil ){
 | 
			
		||||
         return [super initWithDictionary:dict error:err];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -60,7 +60,7 @@ class {{classname}}(object):
 | 
			
		||||
{{/-first}}
 | 
			
		||||
        self._{{name}} = None
 | 
			
		||||
{{/vars}}
 | 
			
		||||
        self.discriminator = {{#discriminator}}'{{discriminator}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}}
 | 
			
		||||
        self.discriminator = {{#discriminator}}'{{{discriminatorName}}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}}
 | 
			
		||||
{{#vars}}{{#-first}}
 | 
			
		||||
{{/-first}}
 | 
			
		||||
{{#required}}
 | 
			
		||||
 | 
			
		||||
@ -328,7 +328,7 @@ class Decoders {
 | 
			
		||||
            if let sourceDictionary = source as? [AnyHashable: Any] {
 | 
			
		||||
            {{#discriminator}}
 | 
			
		||||
                // Check discriminator to support inheritance
 | 
			
		||||
                if let discriminator = sourceDictionary["{{discriminator}}"] as? String, instance == nil && discriminator != "{{classname}}"{
 | 
			
		||||
                if let discriminator = sourceDictionary["{{{discriminatorName}}}"] as? String, instance == nil && discriminator != "{{classname}}"{
 | 
			
		||||
                    return Decoders.decode(clazz: {{classname}}.self, discriminator: discriminator, source: source)
 | 
			
		||||
                }
 | 
			
		||||
            {{/discriminator}}
 | 
			
		||||
 | 
			
		||||
@ -145,7 +145,7 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
 | 
			
		||||
{{/vars}}
 | 
			
		||||
 | 
			
		||||
    {{#discriminator}}
 | 
			
		||||
    static discriminator = {{discriminator}};
 | 
			
		||||
    static discriminator = {{{discriminatorName}}};
 | 
			
		||||
    {{/discriminator}}
 | 
			
		||||
    {{^discriminator}}
 | 
			
		||||
    static discriminator = undefined;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user