update discriminator to discriminatorName (#142)

This commit is contained in:
William Cheng 2018-04-19 15:02:22 +08:00 committed by GitHub
parent 74075c087e
commit 6e2ca294b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 20 additions and 20 deletions

View File

@ -71,7 +71,7 @@ public class JSON {
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class); classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
return getClassByDiscriminator( return getClassByDiscriminator(
classByDiscriminatorValue, classByDiscriminatorValue,
getDiscriminatorValue(readElement, "{{discriminator}}")); getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
} }
}) })
{{/parent}} {{/parent}}

View File

@ -68,7 +68,7 @@ public class JSON {
classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class); classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class);
return getClassByDiscriminator( return getClassByDiscriminator(
classByDiscriminatorValue, classByDiscriminatorValue,
getDiscriminatorValue(readElement, "{{discriminator}}")); getDiscriminatorValue(readElement, "{{{discriminatorName}}}"));
} }
}) })
{{/parent}} {{/parent}}

View File

@ -74,7 +74,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
{{/parent}} {{/parent}}
{{#gson}} {{#gson}}
{{#discriminator}} {{#discriminator}}
this.{{discriminator}} = this.getClass().getSimpleName(); this.{{{discriminatorName}}} = this.getClass().getSimpleName();
{{/discriminator}} {{/discriminator}}
{{/gson}} {{/gson}}
} }
@ -83,7 +83,7 @@ public class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{{#parcela
{{#gson}} {{#gson}}
{{#discriminator}} {{#discriminator}}
public {{classname}}() { public {{classname}}() {
this.{{discriminator}} = this.getClass().getSimpleName(); this.{{{discriminatorName}}} = this.getClass().getSimpleName();
} }
{{/discriminator}} {{/discriminator}}
{{/gson}} {{/gson}}

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -3,7 +3,7 @@
/// </summary> /// </summary>
[DataContract] [DataContract]
{{#discriminator}} {{#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}} [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}} {{/discriminator}}
{{#generatePropertyChanged}} {{#generatePropertyChanged}}

View File

@ -6,13 +6,13 @@ type {{classname}}
{{classVarName}}Decoder : Decoder {{classname}} {{classVarName}}Decoder : Decoder {{classname}}
{{classVarName}}Decoder = {{classVarName}}Decoder =
Decode.field "{{discriminator}}" Decode.string Decode.field "{{{discriminatorName}}}" Decode.string
|> Decode.andThen {{classVarName}}TypeDecoder |> Decode.andThen {{classVarName}}TypeDecoder
{{classVarName}}TypeDecoder : String -> Decoder {{classname}} {{classVarName}}TypeDecoder : String -> Decoder {{classname}}
{{classVarName}}TypeDecoder {{discriminator}} = {{classVarName}}TypeDecoder {{{discriminatorName}}} =
case {{discriminator}} of case {{{discriminatorName}}} of
{{#children}} {{#children}}
"{{vendorExtensions.x-discriminator-value}}" -> "{{vendorExtensions.x-discriminator-value}}" ->
Decode.map {{classname}}Type {{classVarName}}Decoder Decode.map {{classname}}Type {{classVarName}}Decoder
@ -20,8 +20,8 @@ type {{classname}}
{{/children}} {{/children}}
_ -> _ ->
Decode.fail <| Decode.fail <|
"Trying to decode {{classname}}, but {{discriminator}} " "Trying to decode {{classname}}, but {{{discriminatorName}}} "
++ toString {{discriminator}} ++ " is not supported." ++ toString {{{discriminatorName}}} ++ " is not supported."
{{classVarName}}Encoder : {{classname}} -> Encode.Value {{classVarName}}Encoder : {{classname}} -> Encode.Value

View File

@ -1,5 +1,5 @@
{{#jackson}} {{#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({ @JsonSubTypes({
{{#children}} {{#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}}"), @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}}"),

View File

@ -23,7 +23,7 @@
* Maps "discriminator" value to the sub-class name, so that inheritance is supported. * Maps "discriminator" value to the sub-class name, so that inheritance is supported.
*/ */
- (id)initWithDictionary:(NSDictionary *)dict error:(NSError *__autoreleasing *)err { - (id)initWithDictionary:(NSDictionary *)dict error:(NSError *__autoreleasing *)err {
NSString * discriminatedClassName = [dict valueForKey:@"{{discriminator}}"]; NSString * discriminatedClassName = [dict valueForKey:@"{{{discriminatorName}}}"];
if(discriminatedClassName == nil ){ if(discriminatedClassName == nil ){
return [super initWithDictionary:dict error:err]; return [super initWithDictionary:dict error:err];
} }

View File

@ -60,7 +60,7 @@ class {{classname}}(object):
{{/-first}} {{/-first}}
self._{{name}} = None self._{{name}} = None
{{/vars}} {{/vars}}
self.discriminator = {{#discriminator}}'{{discriminator}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}} self.discriminator = {{#discriminator}}'{{{discriminatorName}}}'{{/discriminator}}{{^discriminator}}None{{/discriminator}}
{{#vars}}{{#-first}} {{#vars}}{{#-first}}
{{/-first}} {{/-first}}
{{#required}} {{#required}}

View File

@ -328,7 +328,7 @@ class Decoders {
if let sourceDictionary = source as? [AnyHashable: Any] { if let sourceDictionary = source as? [AnyHashable: Any] {
{{#discriminator}} {{#discriminator}}
// Check discriminator to support inheritance // 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) return Decoders.decode(clazz: {{classname}}.self, discriminator: discriminator, source: source)
} }
{{/discriminator}} {{/discriminator}}

View File

@ -145,7 +145,7 @@ export class {{classname}} {{#parent}}extends {{{parent}}} {{/parent}}{
{{/vars}} {{/vars}}
{{#discriminator}} {{#discriminator}}
static discriminator = {{discriminator}}; static discriminator = {{{discriminatorName}}};
{{/discriminator}} {{/discriminator}}
{{^discriminator}} {{^discriminator}}
static discriminator = undefined; static discriminator = undefined;