package data.media; import java.lang.reflect.Type; import com.alibaba.fastjson.parser.DefaultJSONParser; import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.parser.JSONLexerBase; import com.alibaba.fastjson.parser.ParseContext; import com.alibaba.fastjson.parser.ParserConfig; import com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer; import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer; public class MediaGenDecoder extends JavaBeanDeserializer implements ObjectDeserializer { private char[] size_gen_prefix__ = "\"size\":".toCharArray(); private char[] uri_gen_prefix__ = "\"uri\":".toCharArray(); private char[] title_gen_prefix__ = "\"title\":".toCharArray(); private char[] width_gen_prefix__ = "\"width\":".toCharArray(); private char[] height_gen_prefix__ = "\"height\":".toCharArray(); private char[] duration_gen_prefix__ = "\"duration\":".toCharArray(); private char[] bitrate_gen_prefix__ = "\"bitrate\":".toCharArray(); private char[] persons_gen_prefix__ = "\"persons\":".toCharArray(); private char[] player_gen_prefix__ = "\"player\":".toCharArray(); private char[] copyright_gen_prefix__ = "\"copyright\":".toCharArray(); private char[] format_gen_prefix__ = "\"format\":".toCharArray(); private ObjectDeserializer uri_gen_deser__; private ObjectDeserializer title_gen_deser__; private ObjectDeserializer persons_gen_list_item_deser__; private Type persons_gen_list_item_type__ = java.lang.String.class; private ObjectDeserializer copyright_gen_deser__; private ObjectDeserializer format_gen_deser__; private ObjectDeserializer player_gen_deser__; public MediaGenDecoder (ParserConfig config, Class clazz) { super(config, clazz); // data.media.Media.Player player_gen_deser__ = config.getDeserializer(data.media.Media.Player.class); } public Object createInstance(DefaultJSONParser parser, Type type) { return new Media(); } public Object deserialze(DefaultJSONParser parser, Type type, Object fieldName) { JSONLexerBase lexer = (JSONLexerBase) parser.getLexer(); if (!lexer.isEnabled(Feature.SortFeidFastMatch)) { return super.deserialze(parser, type, fieldName); } if (lexer.isEnabled(Feature.SupportArrayToBean)) { // deserialzeArrayMapping } if (lexer.scanType("Department") == JSONLexerBase.NOT_MATCH) { return super.deserialze(parser, type, fieldName); } ParseContext mark_context = parser.getContext(); int matchedCount = 0; Media instance = new Media(); ParseContext context = parser.getContext(); ParseContext childContext = parser.setContext(context, instance, fieldName); if (lexer.matchStat == JSONLexerBase.END) { return instance; } int matchStat = 0; int _asm_flag_0 = 0; int bitrate_gen = 0; String copyright_gen; if (lexer.isEnabled(Feature.InitStringFieldAsEmpty)) { copyright_gen = lexer.stringDefaultValue(); _asm_flag_0 |= 2; } else { copyright_gen = null; } long duration_gen = 0; String format_gen; if (lexer.isEnabled(Feature.InitStringFieldAsEmpty)) { format_gen = lexer.stringDefaultValue(); _asm_flag_0 |= 8; } else { format_gen = null; } int height_gen = 0; java.util.List persons_gen = null; data.media.Media.Player player_gen = null; long size_gen = 0; String title_gen; if (lexer.isEnabled(Feature.InitStringFieldAsEmpty)) { title_gen = lexer.stringDefaultValue(); _asm_flag_0 |= 256; } else { title_gen = null; } String uri_gen; if (lexer.isEnabled(Feature.InitStringFieldAsEmpty)) { uri_gen = lexer.stringDefaultValue(); _asm_flag_0 |= 512; } else { uri_gen = null; } int width_gen = 0; boolean endFlag = false, restFlag = false; if ((!endFlag) && (!restFlag)) { bitrate_gen = lexer.scanFieldInt(bitrate_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 1; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { copyright_gen = lexer.scanFieldString(copyright_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 2; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { duration_gen = lexer.scanFieldLong(duration_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 4; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { format_gen = lexer.scanFieldString(format_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 8; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { height_gen = lexer.scanFieldInt(height_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 16; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { persons_gen = (java.util.List) lexer.scanFieldStringArray(persons_gen_prefix__, java.util.List.class); if(lexer.matchStat > 0) { _asm_flag_0 |= 32; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { player_gen = (data.media.Media.Player) this.scanEnum(lexer, player_gen_prefix__, player_gen_deser__); if(lexer.matchStat > 0) { _asm_flag_0 |= 64; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { size_gen = lexer.scanFieldLong(size_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 128; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { title_gen = lexer.scanFieldString(title_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 256; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { uri_gen = lexer.scanFieldString(uri_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 512; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat == JSONLexerBase.END) { endFlag = true; } } if ((!endFlag) && (!restFlag)) { width_gen = lexer.scanFieldInt(width_gen_prefix__); if(lexer.matchStat > 0) { _asm_flag_0 |= 1024; matchedCount++; } if(lexer.matchStat == JSONLexerBase.NOT_MATCH) { restFlag = true; } if(lexer.matchStat != JSONLexerBase.END) { restFlag = true; } } if ((_asm_flag_0 & 1) != 0) { instance.setBitrate(bitrate_gen); } if ((_asm_flag_0 & 2) != 0) { instance.setCopyright(copyright_gen); } if ((_asm_flag_0 & 4) != 0) { instance.setDuration(duration_gen); } if ((_asm_flag_0 & 8) != 0) { instance.setFormat(format_gen); } if ((_asm_flag_0 & 16) != 0) { instance.setHeight(height_gen); } if ((_asm_flag_0 & 32) != 0) { instance.setPersons(persons_gen); } if ((_asm_flag_0 & 64) != 0) { instance.setPlayer(player_gen); } if ((_asm_flag_0 & 128) != 0) { instance.setSize(size_gen); } if ((_asm_flag_0 & 256) != 0) { instance.setTitle(title_gen); } if ((_asm_flag_0 & 512) != 0) { instance.setUri(uri_gen); } if ((_asm_flag_0 & 1024) != 0) { instance.setWidth(width_gen); } if (restFlag) { return super.parseRest(parser, type, fieldName, instance, 0, new int[0]); } return instance; } }