package proj.zoie.example.service; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.ReadableByteChannel; public class TwitterFileDataProvider extends SingleFileDataProvider<Tweet> { public static final int TWEET_SIZE = 200; public static final class TweetDeserializer implements Deserializer<Tweet> { @Override public Tweet deserialize(byte[] bytes) throws IOException { byte[] tweetBuf = new byte[bytes.length]; System.arraycopy(bytes, 0, tweetBuf, 0, bytes.length); Tweet t = new Tweet(tweetBuf); return t; } } public TwitterFileDataProvider(ReadableByteChannel ch) { super(TWEET_SIZE); inputChannel = ch; bytes = new byte[datumByteSize]; buf = ByteBuffer.wrap(bytes); deserializer = new TweetDeserializer(); } public TwitterFileDataProvider(String dataFileName) throws IOException { super(dataFileName, TWEET_SIZE, new TweetDeserializer()); } }