package master.flame.danmaku.danmaku.loader.android;
import java.io.InputStream;
import master.flame.danmaku.danmaku.loader.ILoader;
import master.flame.danmaku.danmaku.loader.IllegalDataException;
import master.flame.danmaku.danmaku.parser.android.JSONSource;
import android.net.Uri;
/**
* Ac danmaku loader
* @author yrom
*
*/
public class AcFunDanmakuLoader implements ILoader{
private AcFunDanmakuLoader(){}
private static volatile AcFunDanmakuLoader instance;
private JSONSource dataSource;
public static ILoader instance() {
if(instance == null){
synchronized (AcFunDanmakuLoader.class){
if(instance == null)
instance = new AcFunDanmakuLoader();
}
}
return instance;
}
@Override
public JSONSource getDataSource() {
return dataSource;
}
@Override
public void load(String uri) throws IllegalDataException {
try {
dataSource = new JSONSource(Uri.parse(uri));
} catch (Exception e) {
throw new IllegalDataException(e);
}
}
@Override
public void load(InputStream in) throws IllegalDataException {
try {
dataSource = new JSONSource(in);
} catch (Exception e) {
throw new IllegalDataException(e);
}
}
}