// Path: glin/src/main/java/org/loader/glin/cache/ICacheProvider.java
// public interface ICacheProvider {
//     /**
//      * get cache by key of {@link #getKey(String, String)}
//      * @param key key
//      * @param  klass type of data struct, see also {@link org.loader.glin.helper.Helper}
//      * @param isList is result a List
//      * @return cache data
//      */
//     <T> Result<T> get(String key, Class<T> klass, boolean isList);
// 
//     /**
//      * cache data
//      * @param key see {@link #getKey(String, String)}
//      * @param netResult the origin result
//      * @param result parsed result
//      */
//     <T> void put(String key, RawResult netResult, Result<T> result);
// 
//     /**
//      * provide the key
//      * @param url the request url
//      * @param params the request params, maybe key1=value1&key2=value2 while your request is POST, maybe null while your request is GET, maybe json string while your request is POST Json
//      * @return
//      */
//     String getKey(String url, String params);
// }
// 
// Path: glin/src/main/java/org/loader/glin/factory/ParserFactory.java
// public interface ParserFactory {
//     Parser getParser();
//     Parser getListParser();
// }
// 
// Path: glin/src/main/java/org/loader/glin/interceptor/IResultInterceptor.java
// public interface IResultInterceptor {
//     /**
//      * 是否拦截结果
//      * @param result
//      * @return true callback不会执行
//      */
//     boolean intercept(Result<?> result);
// }


import org.loader.glin.cache.ICacheProvider;
import org.loader.glin.factory.ParserFactory;
import org.loader.glin.interceptor.IResultInterceptor;
import java.util.LinkedHashMap;
package org.loader.glin.client;



/**
 * Created by qibin on 2016/7/13.
 */

public interface IClient extends IRequest {

    void cancel(final Object tag);

    void parserFactory(ParserFactory factory);

    LinkedHashMap<String, String> headers();

// Path: glin/src/main/java/org/loader/glin/cache/ICacheProvider.java
// public interface ICacheProvider {
//     /**
//      * get cache by key of {@link #getKey(String, String)}
//      * @param key key
//      * @param  klass type of data struct, see also {@link org.loader.glin.helper.Helper}
//      * @param isList is result a List
//      * @return cache data
//      */
//     <T> Result<T> get(String key, Class<T> klass, boolean isList);
// 
//     /**
//      * cache data
//      * @param key see {@link #getKey(String, String)}
//      * @param netResult the origin result
//      * @param result parsed result
//      */
//     <T> void put(String key, RawResult netResult, Result<T> result);
// 
//     /**
//      * provide the key
//      * @param url the request url
//      * @param params the request params, maybe key1=value1&key2=value2 while your request is POST, maybe null while your request is GET, maybe json string while your request is POST Json
//      * @return
//      */
//     String getKey(String url, String params);
// }
// 
// Path: glin/src/main/java/org/loader/glin/factory/ParserFactory.java
// public interface ParserFactory {
//     Parser getParser();
//     Parser getListParser();
// }
// 
// Path: glin/src/main/java/org/loader/glin/interceptor/IResultInterceptor.java
// public interface IResultInterceptor {
//     /**
//      * 是否拦截结果
//      * @param result
//      * @return true callback不会执行
//      */
//     boolean intercept(Result<?> result);
// }


// Path: glin/src/main/java/org/loader/glin/client/IClient.java
import org.loader.glin.cache.ICacheProvider;
import org.loader.glin.factory.ParserFactory;
import org.loader.glin.interceptor.IResultInterceptor;
import java.util.LinkedHashMap;

package org.loader.glin.client;



/**
 * Created by qibin on 2016/7/13.
 */

public interface IClient extends IRequest {

    void cancel(final Object tag);

    void parserFactory(ParserFactory factory);

    LinkedHashMap<String, String> headers();

    void resultInterceptor(IResultInterceptor interceptor);