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 java.lang.String defaultCallBack 
    • 构造器概要

      构造器 
      构造器和说明
      JsonpEncoder()
      构造函数。
      JsonpEncoder(HttpServletRequest request)
      构造函数,根据 HTTP 请求构建一个 JsonpEncoder 对象。
    • 方法概要

      方法 
      限定符和类型 方法和说明
      protected java.util.List<MediaType> createSupportedMediaTypes()
      创建支持的媒体类型,这里是 JSONP 类型,即“application/jsonp”。
      java.lang.String getCallBack()
      获取回调函数名称。
      protected java.lang.String getCallBackForRequest(HttpServletRequest request2)
      从 HTTP 请求中获取回调函数名。
      static boolean isCallBackValid(java.lang.String callBack)
      检查回调函数名称是否合法。
      boolean isWriteable(java.lang.Class arg0, java.lang.reflect.Type arg1, java.lang.annotation.Annotation[] arg2, javax.ws.rs.core.MediaType arg3)
      判断本表述生成器是否支持指定媒体类型的表述。
      void setCallBack(java.lang.String callBack)
      设置回调函数名称。
      void setStatus(int code)
      设置相应状态码。
      protected java.lang.String toFormatedString(java.lang.Object resultObj)
      将一个对象转换成符合 JSONP 规范的字符串。
      Representation toRepresentation(MediaType mediaType, java.lang.Object resourceObj)
      将一个 Java 对象序列化为 JSONP 的表述。
      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)
      生成指定媒体类型的 HTTP 响应。
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • 从接口继承的方法 javax.ws.rs.ext.MessageBodyWriter

        getSize
    • 字段详细资料

      • defaultCallBack

        public static final java.lang.String defaultCallBack
        
    • 构造器详细资料

      • 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 响应出错时。