package com.baidu.disconf.core.common.restful;
import com.baidu.disconf.core.common.restful.core.RemoteUrl;
/**
* Restful 抓取工具
*
* @author liaoqiqi
* @version 2014-7-29
*/
public interface RestfulMgr {
/**
* 获取JSON数据
*
* @param clazz
* @param remoteUrl
*
* @return
*
* @throws Exception
*/
<T> T getJsonData(Class<T> clazz, RemoteUrl remoteUrl, int retryTimes, int retrySleepSeconds) throws Exception;
/**
* @param remoteUrl 远程地址
* @param fileName 文件名
* @param localFileDir 本地文件地址
* @param targetDirPath 下载完后,配置文件放到此目录下
*
* @return 如果是放到Classpath目录下,则返回相对Classpath的路径,如果不是,则返回全路径
*
* @throws Exception
*/
String downloadFromServer(RemoteUrl remoteUrl, String fileName, String localFileDir, String localFileDirTemp,
String targetDirPath,
boolean enableLocalDownloadDirInClassPath,
int retryTimes, int retrySleepSeconds) throws Exception;
void close();
}