@@ -24,6 +24,8 @@ import ai.snips.nlu.ontology.SlotValue.Type.ORDINAL
24
24
import ai.snips.nlu.ontology.SlotValue.Type.PERCENTAGE
25
25
import ai.snips.nlu.ontology.SlotValue.Type.TEMPERATURE
26
26
import ai.snips.nlu.ontology.SlotValue.Type.TIME_INTERVAL
27
+ import com.fasterxml.jackson.annotation.JsonIgnore
28
+ import com.fasterxml.jackson.annotation.JsonProperty
27
29
import com.fasterxml.jackson.annotation.JsonSubTypes
28
30
import com.fasterxml.jackson.annotation.JsonSubTypes.Type
29
31
import com.fasterxml.jackson.annotation.JsonTypeInfo
@@ -49,37 +51,41 @@ enum class Precision { APPROXIMATE, EXACT }
49
51
enum class Grain { YEAR , QUARTER , MONTH , WEEK , DAY , HOUR , MINUTE , SECOND }
50
52
51
53
// TODO : add converters to JSR310 / ThreeTen types
52
- @JsonTypeInfo(use = JsonTypeInfo .Id .NAME , include = JsonTypeInfo .As .PROPERTY , property = " type " )
54
+ @JsonTypeInfo(use = JsonTypeInfo .Id .NAME , include = JsonTypeInfo .As .EXISTING_PROPERTY , property = " kind " )
53
55
@JsonSubTypes(
54
- Type (value = CustomValue ::class , name = " CUSTOM " ),
55
- Type (value = NumberValue ::class , name = " NUMBER " ),
56
- Type (value = OrdinalValue ::class , name = " ORDINAL " ),
57
- Type (value = InstantTimeValue ::class , name = " INSTANT_TIME " ),
58
- Type (value = TimeIntervalValue ::class , name = " TIME_INTERVAL " ),
59
- Type (value = AmountOfMoneyValue ::class , name = " AMOUNT_OF_MONEY " ),
60
- Type (value = TemperatureValue ::class , name = " TEMPERATURE " ),
61
- Type (value = DurationValue ::class , name = " DURATION " ),
62
- Type (value = PercentageValue ::class , name = " PERCENTAGE " ),
63
- Type (value = MusicAlbumValue ::class , name = " MUSICALBUM " ),
64
- Type (value = MusicArtistValue ::class , name = " MUSICARTIST " ),
65
- Type (value = MusicTrackValue ::class , name = " MUSICTRACK " )
56
+ Type (value = CustomValue ::class , name = " Custom " ),
57
+ Type (value = NumberValue ::class , name = " Number " ),
58
+ Type (value = OrdinalValue ::class , name = " Ordinal " ),
59
+ Type (value = InstantTimeValue ::class , name = " InstantTime " ),
60
+ Type (value = TimeIntervalValue ::class , name = " TimeInterval " ),
61
+ Type (value = AmountOfMoneyValue ::class , name = " AmountOfMoney " ),
62
+ Type (value = TemperatureValue ::class , name = " Temperature " ),
63
+ Type (value = DurationValue ::class , name = " Duration " ),
64
+ Type (value = PercentageValue ::class , name = " Percentage " ),
65
+ Type (value = MusicAlbumValue ::class , name = " MusicAlbum " ),
66
+ Type (value = MusicArtistValue ::class , name = " MusicArtist " ),
67
+ Type (value = MusicTrackValue ::class , name = " MusicTrack " )
66
68
)
67
- sealed class SlotValue (val type : Type ) {
69
+ sealed class SlotValue (val kind : Type ) {
70
+
71
+ @JsonIgnore
72
+ @Deprecated(" use kind instead" )
73
+ val type = kind
68
74
69
75
@Parcel
70
76
enum class Type {
71
- CUSTOM ,
72
- NUMBER ,
73
- ORDINAL ,
74
- INSTANT_TIME ,
75
- TIME_INTERVAL ,
76
- AMOUNT_OF_MONEY ,
77
- TEMPERATURE ,
78
- DURATION ,
79
- PERCENTAGE ,
80
- MUSICALBUM ,
81
- MUSICARTIST ,
82
- MUSICTRACK
77
+ @JsonProperty( " Custom " ) CUSTOM ,
78
+ @JsonProperty( " Number " ) NUMBER ,
79
+ @JsonProperty( " Ordinal " ) ORDINAL ,
80
+ @JsonProperty( " InstantTime " ) INSTANT_TIME ,
81
+ @JsonProperty( " TimeInterval " ) TIME_INTERVAL ,
82
+ @JsonProperty( " AmountOfMoney " ) AMOUNT_OF_MONEY ,
83
+ @JsonProperty( " Temperature " ) TEMPERATURE ,
84
+ @JsonProperty( " Duration " ) DURATION ,
85
+ @JsonProperty( " Percentage " ) PERCENTAGE ,
86
+ @JsonProperty( " MusicAlbum " ) MUSICALBUM ,
87
+ @JsonProperty( " MusicArtist " ) MUSICARTIST ,
88
+ @JsonProperty( " MusicTrack " ) MUSICTRACK
83
89
}
84
90
85
91
@Parcel(BEAN )
0 commit comments