package org.xutils.http.loader; import android.text.TextUtils; import org.xutils.cache.DiskCacheEntity; import org.xutils.common.util.IOUtil; import org.xutils.http.RequestParams; import org.xutils.http.request.UriRequest; import java.io.InputStream; /** * Author: wyouflf * Time: 2014/05/30 */ /*package*/ class StringLoader extends Loader<String> { private String charset = "UTF-8"; private String resultStr = null; @Override public Loader<String> newInstance() { return new StringLoader(); } @Override public void setParams(final RequestParams params) { if (params != null) { String charset = params.getCharset(); if (!TextUtils.isEmpty(charset)) { this.charset = charset; } } } @Override public String load(final InputStream in) throws Throwable { resultStr = IOUtil.readStr(in, charset); return resultStr; } @Override public String load(final UriRequest request) throws Throwable { request.sendRequest(); return this.load(request.getInputStream()); } @Override public String loadFromCache(final DiskCacheEntity cacheEntity) throws Throwable { if (cacheEntity != null) { return cacheEntity.getTextContent(); } return null; } @Override public void save2Cache(UriRequest request) { saveStringCache(request, resultStr); } }