Class JsonWithPaddingInterceptor

java.lang.Object
org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor
All Implemented Interfaces:
javax.ws.rs.ext.WriterInterceptor

@Priority(4100) public class JsonWithPaddingInterceptor extends Object implements javax.ws.rs.ext.WriterInterceptor
A WriterInterceptor implementation for JSONP format. This interceptor wraps a JSON stream obtained by a underlying JSON provider into a callback function that can be defined by the JSONP annotation.
See Also:
  • Field Details

    • JAVASCRIPT_TYPES

      private static final Map<String,Set<String>> JAVASCRIPT_TYPES
    • containerRequestProvider

      @Inject private javax.inject.Provider<ContainerRequest> containerRequestProvider
  • Constructor Details

    • JsonWithPaddingInterceptor

      public JsonWithPaddingInterceptor()
  • Method Details

    • aroundWriteTo

      public void aroundWriteTo(javax.ws.rs.ext.WriterInterceptorContext context) throws IOException, javax.ws.rs.WebApplicationException
      Specified by:
      aroundWriteTo in interface javax.ws.rs.ext.WriterInterceptor
      Throws:
      IOException
      javax.ws.rs.WebApplicationException
    • isJavascript

      private boolean isJavascript(javax.ws.rs.core.MediaType mediaType)
      Returns a flag whether the given media type belongs to the group of JavaScript media types.
      Parameters:
      mediaType - media type to check.
      Returns:
      true if the given media type is a JavaScript type, false otherwise (or if the media type is null}
    • getCallbackName

      private String getCallbackName(JSONP jsonp)
      Returns a JavaScript callback name to wrap the JSON entity into. The callback name is determined from the JSONP annotation.
      Parameters:
      jsonp - JSONP annotation to determine the callback name from.
      Returns:
      a JavaScript callback name.
    • getJsonpAnnotation

      private JSONP getJsonpAnnotation(javax.ws.rs.ext.InterceptorContext context)
      Returns a JSONP annotation of the resource method responsible for handling the current request.
      Parameters:
      context - an interceptor context to obtain the annotation from.
      Returns:
      JSONP annotation or null if the resource method is not annotated with this annotation.
      See Also:
      • InterceptorContext.getAnnotations()