package biz.c24.io.spring.source;
import biz.c24.io.api.presentation.JsonSourcev2;
import biz.c24.io.api.presentation.Source;
import java.io.InputStream;
import java.io.Reader;
/**
* Created by iainporter on 21/07/2014.
*/
public class JsonSourceFactory implements SourceFactory {
private String encoding;
@Override
public Source getSource(Reader reader) {
JsonSourcev2 source = new JsonSourcev2(reader);
configure(source);
return source;
}
@Override
public Source getSource(InputStream stream) {
JsonSourcev2 source = new JsonSourcev2(stream);
configure(source);
return source;
}
@Override
public Source getSource() {
JsonSourcev2 source = new JsonSourcev2();
configure(source);
return source;
}
final protected void configure(JsonSourcev2 source) {
if(encoding != null) {
source.setEncoding(encoding);
}
}
/**
* Override this to provide configuration to the source
*
* @param jsonSource
*/
protected void doConfigure(JsonSourcev2 jsonSource) {
}
}