com.supermap.services.rest.encoders
类 JsonpEncoder
- java.lang.Object
 - 
- com.supermap.services.rest.encoders.Encoder
 - 
- com.supermap.services.rest.encoders.JsonEncoder
 - 
- com.supermap.services.rest.encoders.JsonpEncoder
 
 
 
 
- 
- 所有已实现的接口:
 - javax.ws.rs.ext.MessageBodyWriter
 
@Provider public class JsonpEncoder extends JsonEncoder implements javax.ws.rs.ext.MessageBodyWriter
Java 对象的 JSONP 序列化器。
负责将一个 Java 对象序列化成一个 JSONP 字符串。
 
- 
- 
嵌套类概要
嵌套类 限定符和类型 类和说明 static classJsonpEncoder.JsonpRepresentationJSONP 表述。 
- 
字段概要
字段 限定符和类型 字段和说明 static java.lang.StringdefaultCallBack 
- 
构造器概要
构造器 构造器和说明 JsonpEncoder()构造函数。JsonpEncoder(HttpServletRequest request)构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。 
- 
方法概要
方法 限定符和类型 方法和说明 protected java.util.List<MediaType>createSupportedMediaTypes()创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。java.lang.StringgetCallBack()获取回调函数名称。protected java.lang.StringgetCallBackForRequest(HttpServletRequest request2)从 HTTP 请求中获取回调函数名。static booleanisCallBackValid(java.lang.String callBack)检查回调函数名称是否合法。booleanisWriteable(java.lang.Class arg0, java.lang.reflect.Type arg1, java.lang.annotation.Annotation[] arg2, javax.ws.rs.core.MediaType arg3)判断本表述生成器是否支持指定媒体类型的表述。voidsetCallBack(java.lang.String callBack)设置回调函数名称。voidsetStatus(int code)设置相应状态码。protected java.lang.StringtoFormatedString(java.lang.Object resultObj)将一个对象转换成符合 JSONP 规范的字符串。RepresentationtoRepresentation(MediaType mediaType, java.lang.Object resourceObj)将一个 Java 对象序列化为 JSONP 的表述。voidwriteTo(java.lang.Object arg0, java.lang.Class arg1, java.lang.reflect.Type arg2, java.lang.annotation.Annotation[] arg3, javax.ws.rs.core.MediaType arg4, javax.ws.rs.core.MultivaluedMap arg5, java.io.OutputStream arg6)生成指定媒体类型的 HTTP 响应。- 
从类继承的方法 com.supermap.services.rest.encoders.JsonEncoder
getSize, isindent, toFormatedObject 
- 
从类继承的方法 com.supermap.services.rest.encoders.Encoder
getSupportedMediaTypes, isEncodeAllow 
 - 
 
 - 
 
- 
- 
构造器详细资料
- 
JsonpEncoder
public JsonpEncoder()
构造函数。
 
- 
JsonpEncoder
public JsonpEncoder(@Context HttpServletRequest request)构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。
- 参数:
 request- HTTP 请求。
 
 - 
 
- 
方法详细资料
- 
createSupportedMediaTypes
protected java.util.List<MediaType> createSupportedMediaTypes()
创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。
- 覆盖:
 createSupportedMediaTypes在类中JsonEncoder- 返回:
 - 媒体类型列表。
 
 
- 
getCallBack
public java.lang.String getCallBack()
获取回调函数名称。
- 返回:
 - 回调函数名称。
 
 
- 
setCallBack
public void setCallBack(java.lang.String callBack)
设置回调函数名称。
- 参数:
 callBack- 要设置的回调函数名称。
 
- 
isCallBackValid
public static boolean isCallBackValid(java.lang.String callBack)
检查回调函数名称是否合法。
回掉函数应该为合法的javascript函数名称,这个检查是为了杜绝'跨站点脚本编制',防止用户传入非法字符串. 合法的返回情况为以下三种: functionName({JSON}) obj.functionName({JSON}) obj['functionName']({JSON})
- 参数:
 callBack- 待检查的回调函数名称。- 返回:
 - callBack 名称是否合法
 
 
- 
toRepresentation
public Representation toRepresentation(MediaType mediaType, java.lang.Object resourceObj)将一个 Java 对象序列化为 JSONP 的表述。
- 覆盖:
 toRepresentation在类中JsonEncoder- 参数:
 mediaType- 表述的类型。resourceObj- 欲序列化为表述的 Java 对象。- 返回:
 - 指定对象的 JSONP 格式表述。
 
 
- 
toFormatedString
protected java.lang.String toFormatedString(java.lang.Object resultObj)
将一个对象转换成符合 JSONP 规范的字符串。
- 覆盖:
 toFormatedString在类中JsonEncoder- 参数:
 resultObj- 要转换的对象。- 返回:
 - 符合 JSONP 规范的字符串。
 
 
- 
isWriteable
public boolean isWriteable(java.lang.Class arg0, java.lang.reflect.Type arg1, java.lang.annotation.Annotation[] arg2, javax.ws.rs.core.MediaType arg3)判断本表述生成器是否支持指定媒体类型的表述。
- 指定者:
 isWriteable在接口中javax.ws.rs.ext.MessageBodyWriter- 覆盖:
 isWriteable在类中JsonEncoder- 参数:
 arg0- 要生成表述的对象。arg1- 指定的媒体类型。arg2- 注记数组,资源中有这些注记的方法返回要写入的对象。arg3- 预期响应的媒体类型。- 返回:
 - 如果本表述生成器支持指定的媒体类型,则返回 true,否则返回 false。
 
 
- 
getCallBackForRequest
protected java.lang.String getCallBackForRequest(HttpServletRequest request2)
从 HTTP 请求中获取回调函数名。
- 参数:
 request2- HTTP 请求。- 返回:
 - 回调函数名。
 
 
- 
setStatus
public void setStatus(int code)
设置相应状态码。
- 参数:
 code- 状态码。
 
- 
writeTo
public void writeTo(java.lang.Object arg0, java.lang.Class arg1, java.lang.reflect.Type arg2, java.lang.annotation.Annotation[] arg3, javax.ws.rs.core.MediaType arg4, javax.ws.rs.core.MultivaluedMap arg5, java.io.OutputStream arg6) throws java.io.IOException, javax.ws.rs.WebApplicationException从类复制的说明:JsonEncoder生成指定媒体类型的 HTTP 响应。
- 指定者:
 writeTo在接口中javax.ws.rs.ext.MessageBodyWriter- 覆盖:
 writeTo在类中JsonEncoder- 参数:
 arg0- 要生成表述的对象。arg1- 要生成表述的对象对应的 Java 类。arg2- 要生成表述的对象的类型。arg3- 注记数组,资源中有这些注记的方法返回要写入的对象。arg4- HTTP 响应的媒体类型。arg5- HTTP 响应的消息头。arg6- HTTP 响应。- 抛出:
 java.io.IOException- 当读写过程出错时。javax.ws.rs.WebApplicationException- 当 HTTP 响应出错时。
 
 - 
 
 -