com.supermap.services.providers
类 RestProviderBase
- java.lang.Object
-
- com.supermap.services.providers.RestProviderBase
-
- 所有已实现的接口:
- Disposable
- 直接已知子类:
- RestAddressMatchProvider, RestDataProvider, RestMapProvider, RestPlotProvider, RestRealspaceProvider, RestSpatialAnalystProvider, RestTrafficTransferAnalystProvider, RestTransportationAnalystProvider
public abstract class RestProviderBase extends java.lang.Object implements Disposable
基于iServer Rest服务的提供者基类
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 static classRestProviderBase.CacheModel缓存模式。protected static classRestProviderBase.RestRequestException
-
字段概要
字段 限定符和类型 字段和说明 protected static java.lang.StringJAVA_POSTFIXprotected static JavaStreamConverterjavaConverterprotected static java.lang.StringJSON_POSTFIXprotected JsonConverterjsonConverterprotected static JsonDecoderjsonDecoderstatic java.util.concurrent.locks.ReentrantLocklockprotected static LocLoggerloggerprotected static ResourceManagermessageprotected static java.lang.StringXML_POSTFIXprotected static XMLDecoderxmlDecoder
-
构造器概要
构造器 构造器和说明 RestProviderBase()构造函数。
-
方法概要
方法 限定符和类型 方法和说明 voidclearCache()清除缓存。voiddispose()释放资源对象。protected <T> TexecuteRequest(Request request, java.lang.Class<T> clz)执行请求返回对象。protected <T> TexecuteRequest(Request request, java.lang.Class<T> clz, boolean useCache)执行请求返回对象。protected <T> TexecuteRequest(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel)执行请求返回对象。protected byte[]executeRequestByApacheHttpClientForByteArray(Request request, RestProviderBase.CacheModel cacheModel)protected byte[]executeRequestByRestletClientForByteArray(Request httpRequest, RestProviderBase.CacheModel cacheModel, Client restMapClient)protected byte[]executeRequestForByteArray(Request request)执行请求返回字节数组。protected byte[]executeRequestForByteArray(Request request, boolean useCache)执行请求返回字节数组。protected byte[]executeRequestForByteArray(Request request, RestProviderBase.CacheModel cacheModel)执行请求返回字节数组。protected byte[]executeRequestForByteArray(Request request, RestProviderBase.CacheModel cacheModel, Client restMapClient)protected <T> java.util.List<T>executeRequestForList(Request request, java.lang.Class<T> clz)执行请求返回数组。protected <T> java.util.List<T>executeRequestForList(Request request, java.lang.Class<T> clz, boolean useCache)执行请求返回数组。protected <T> java.util.List<T>executeRequestForList(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel)执行请求返回数组。protected <T> java.util.List<T>executeRequestForList(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel, Client restMapClient)protected java.io.InputStreamexecuteRequestForStream(Request request)执行请求返回Stream。protected java.io.InputStreamexecuteRequestForStream(Request request, boolean useCache)执行请求返回Stream。protected java.io.InputStreamexecuteRequestForStream(Request request, RestProviderBase.CacheModel cacheModel)执行请求返回Stream。protected java.lang.StringexecuteRequestForText(Request request)执行请求,返回字符串。protected java.lang.StringexecuteRequestForText(Request request, boolean useCache)执行请求,返回字符串。protected java.lang.StringexecuteRequestForText(Request request, RestProviderBase.CacheModel cacheModel)执行请求,返回字符串。protected CloseableHttpClientgetApacheHttpClient()protected static org.restlet.RequestgetRestletRequest(Request request)protected abstract RestProviderSettinggetRestProviderSetting()返回REST服务提供者配置信息。voidhandleExeption(RestProviderBase.RestRequestException ex)protected voidinit(RestProviderSetting setting)根据RestProviderSetting初使化对象。CloseableHttpClientinitHttpClient()protected ClientnewAndSetClient(java.lang.String socketTimeout)protected java.lang.StringrectifyRestServiceRootURL(java.lang.String restUrl)校正REST URL,去除URL结尾的“/”。
-
-
-
字段详细资料
-
lock
public static final java.util.concurrent.locks.ReentrantLock lock
-
message
protected static final ResourceManager message
-
logger
protected static final LocLogger logger
-
javaConverter
protected static final JavaStreamConverter javaConverter
-
jsonDecoder
protected static final JsonDecoder jsonDecoder
-
xmlDecoder
protected static final XMLDecoder xmlDecoder
-
JSON_POSTFIX
protected static final java.lang.String JSON_POSTFIX
-
JAVA_POSTFIX
protected static final java.lang.String JAVA_POSTFIX
-
XML_POSTFIX
protected static final java.lang.String XML_POSTFIX
-
jsonConverter
protected final JsonConverter jsonConverter
-
-
方法详细资料
-
getApacheHttpClient
protected CloseableHttpClient getApacheHttpClient()
-
initHttpClient
public CloseableHttpClient initHttpClient()
-
dispose
public void dispose()
从接口复制的说明:Disposable释放资源对象。
- 指定者:
dispose在接口中Disposable
-
clearCache
public void clearCache()
清除缓存。
-
init
protected void init(RestProviderSetting setting)
根据RestProviderSetting初使化对象。- 参数:
setting-
-
executeRequestForText
protected java.lang.String executeRequestForText(Request request) throws RestProviderBase.RestRequestException执行请求,返回字符串。- 参数:
request- request请求。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForText
protected java.lang.String executeRequestForText(Request request, boolean useCache) throws RestProviderBase.RestRequestException执行请求,返回字符串。- 参数:
request- request请求。useCache- 是否使用缓存。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForText
protected java.lang.String executeRequestForText(Request request, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException执行请求,返回字符串。- 参数:
request- request请求。cacheModel- 缓存模式。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequest
protected <T> T executeRequest(Request request, java.lang.Class<T> clz) throws RestProviderBase.RestRequestException执行请求返回对象。- 参数:
request- request请求。clz- 对象类型。- 返回:
- 抛出:
JSONExceptionRestProviderBase.RestRequestException
-
executeRequest
protected <T> T executeRequest(Request request, java.lang.Class<T> clz, boolean useCache) throws RestProviderBase.RestRequestException执行请求返回对象。- 参数:
request- request请求。clz- 对象类型。useCache- 缓存。- 返回:
- 抛出:
JSONExceptionRestProviderBase.RestRequestException
-
executeRequest
protected <T> T executeRequest(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException执行请求返回对象。- 参数:
request- request请求。clz- 对象类型。cacheModel- 缓存模式。- 返回:
- 抛出:
RestProviderBase.RestRequestExceptionJSONException
-
executeRequestForByteArray
protected byte[] executeRequestForByteArray(Request request) throws RestProviderBase.RestRequestException执行请求返回字节数组。- 参数:
request- request请求。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForByteArray
protected byte[] executeRequestForByteArray(Request request, boolean useCache) throws RestProviderBase.RestRequestException执行请求返回字节数组。- 参数:
request- request请求。useCache- 是否使用缓存。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForByteArray
protected byte[] executeRequestForByteArray(Request request, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException执行请求返回字节数组。- 参数:
request- request请求。cacheModel- 缓存模式。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForByteArray
protected byte[] executeRequestForByteArray(Request request, RestProviderBase.CacheModel cacheModel, Client restMapClient) throws RestProviderBase.RestRequestException- 参数:
request-cacheModel-restMapClient- RestMapProvider使用的client- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestByApacheHttpClientForByteArray
protected byte[] executeRequestByApacheHttpClientForByteArray(Request request, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException
-
getRestletRequest
protected static org.restlet.Request getRestletRequest(Request request)
-
executeRequestByRestletClientForByteArray
protected byte[] executeRequestByRestletClientForByteArray(Request httpRequest, RestProviderBase.CacheModel cacheModel, Client restMapClient) throws RestProviderBase.RestRequestException
-
executeRequestForList
protected <T> java.util.List<T> executeRequestForList(Request request, java.lang.Class<T> clz) throws RestProviderBase.RestRequestException执行请求返回数组。
- 参数:
request- request请求。clz- 对象类型。- 返回:
- 抛出:
JSONExceptionRestProviderBase.RestRequestException
-
executeRequestForList
protected <T> java.util.List<T> executeRequestForList(Request request, java.lang.Class<T> clz, boolean useCache) throws RestProviderBase.RestRequestException执行请求返回数组。
- 参数:
request- request请求。clz- 对象类型。useCache- 是否使用缓存。- 返回:
- 抛出:
JSONExceptionRestProviderBase.RestRequestException
-
executeRequestForList
protected <T> java.util.List<T> executeRequestForList(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException执行请求返回数组。
- 参数:
request- request请求。clz- 对象类型。cacheModel- 缓存模式。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForList
protected <T> java.util.List<T> executeRequestForList(Request request, java.lang.Class<T> clz, RestProviderBase.CacheModel cacheModel, Client restMapClient) throws RestProviderBase.RestRequestException- 参数:
request-clz-cacheModel-restMapClient- RestMapProvider使用的client- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForStream
protected java.io.InputStream executeRequestForStream(Request request) throws RestProviderBase.RestRequestException执行请求返回Stream。- 参数:
request- request请求。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForStream
protected java.io.InputStream executeRequestForStream(Request request, boolean useCache) throws RestProviderBase.RestRequestException执行请求返回Stream。- 参数:
request- request请求。useCache- 是否使用缓存。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
executeRequestForStream
protected java.io.InputStream executeRequestForStream(Request request, RestProviderBase.CacheModel cacheModel) throws RestProviderBase.RestRequestException执行请求返回Stream。- 参数:
request- request请求。cacheModel- 缓存模式。- 返回:
- 抛出:
RestProviderBase.RestRequestException
-
rectifyRestServiceRootURL
protected java.lang.String rectifyRestServiceRootURL(java.lang.String restUrl)
校正REST URL,去除URL结尾的“/”。
- 参数:
restUrl-- 返回:
-
getRestProviderSetting
protected abstract RestProviderSetting getRestProviderSetting()
返回REST服务提供者配置信息。- 返回:
-
newAndSetClient
protected Client newAndSetClient(java.lang.String socketTimeout)
-
handleExeption
public void handleExeption(RestProviderBase.RestRequestException ex)
-
-