Files
openide/xml/xml-psi-impl/mdn-doc-gen/gen/com/intellij/bcd/json/Notes.java
Piotr Tomiak 0cf1012296 WEB-61632 WEB-61085 Update generation code to match latest changes; use BCD directly from JSON
GitOrigin-RevId: 72334b45c65361531ca97858f8844a82548dca8b
2023-06-28 21:16:05 +00:00

51 lines
1.6 KiB
Java

package com.intellij.bcd.json;
import java.io.IOException;
import java.util.ArrayList;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@JsonDeserialize(using = Notes.MyDeserializer.class)
public class Notes
extends ArrayList<String>
{
public static class MyDeserializer
extends JsonDeserializer<Notes>
{
@Override
public Notes deserialize(JsonParser parser, DeserializationContext deserializationContext)
throws IOException
{
Notes result = new Notes();
JsonToken token = parser.currentToken();
if (token == JsonToken.START_ARRAY) {
while (parser.nextToken()!= JsonToken.END_ARRAY) {
token = parser.currentToken();
if (token == JsonToken.VALUE_STRING) {
result.add(parser.readValueAs(String.class));
} else {
deserializationContext.handleUnexpectedToken(String.class, parser);
}
}
} else {
if (token == JsonToken.VALUE_STRING) {
result.add(parser.readValueAs(String.class));
} else {
deserializationContext.handleUnexpectedToken(String.class, parser);
}
}
return result;
}
}
}