MediaMixin.java
package com.alibaba.fastjson2.benchmark.eishay.mixin;
import com.alibaba.fastjson2.benchmark.eishay.vo.Media;
import com.alibaba.fastjson2.reader.ObjectReader;
import com.alibaba.fastjson2.reader.ObjectReaders;
import com.alibaba.fastjson2.writer.ObjectWriter;
import com.alibaba.fastjson2.writer.ObjectWriters;
import static com.alibaba.fastjson2.reader.ObjectReaders.*;
public class MediaMixin {
public static final ObjectWriter<Media> objectWriter = ObjectWriters.objectWriter(
Media.class,
ObjectWriters.fieldWriter("bitrate", Media::getBitrate),
ObjectWriters.fieldWriter("duration", Media::getDuration),
ObjectWriters.fieldWriter("format", Media::getFormat),
ObjectWriters.fieldWriter("height", Media::getHeight),
ObjectWriters.fieldWriterListString("persons", Media::getPersons),
ObjectWriters.fieldWriter("player", Media.Player.class, Media::getPlayer),
ObjectWriters.fieldWriter("size", Media::getSize),
ObjectWriters.fieldWriter("title", Media::getTitle),
ObjectWriters.fieldWriter("uri", Media::getUri),
ObjectWriters.fieldWriter("width", Media::getWidth),
ObjectWriters.fieldWriter("copyright", Media::getCopyright)
);
public static final ObjectReader<Media> objectReader = ObjectReaders.of(
Media::new,
fieldReaderInt("bitrate", Media::setBitrate),
fieldReaderLong("duration", Media::setDuration),
fieldReaderString("format", Media::setFormat),
fieldReaderInt("height", Media::setHeight),
fieldReaderListStr("persons", Media::setPersons),
fieldReader("player", Media.Player.class, Media::setPlayer),
fieldReaderLong("size", Media::setSize),
fieldReaderString("title", Media::setTitle),
fieldReaderString("uri", Media::setUri),
fieldReaderInt("width", Media::setWidth),
fieldReaderString("copyright", Media::setCopyright)
);
}