Class IOUtils


  • public class IOUtils
    extends java.lang.Object
    • Constructor Detail

      • IOUtils

        public IOUtils()
    • Method Detail

      • deliver

        public static void deliver​(java.lang.Object o,
                                   DeliverTo deliverConfig,
                                   DeliverTo.DELIVER_TO defaultDeliver,
                                   AtmosphereResource r)

        Delivers the given message according to the specified configuration).

        Parameters:
        o - the message
        deliverConfig - the annotation state
        defaultDeliver - the strategy applied if deliverConfig is null
        r - the resource
      • readEntirely

        public static java.lang.Object readEntirely​(AtmosphereResource r)
                                             throws java.io.IOException
        Throws:
        java.io.IOException
      • isBodyEmpty

        public static boolean isBodyEmpty​(java.lang.Object o)
      • readEntirelyAsString

        public static java.lang.StringBuilder readEntirelyAsString​(AtmosphereResource r)
                                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • readEntirelyAsByte

        public static byte[] readEntirelyAsByte​(AtmosphereResource r)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • guestServletPath

        public static java.lang.String guestServletPath​(AtmosphereConfig config)
      • guestRawServletPath

        public static java.lang.String guestRawServletPath​(AtmosphereConfig config)
      • getCleanedServletPath

        public static java.lang.String getCleanedServletPath​(java.lang.String fullServletPath)
        Used to remove trailing slash and wildcard from a servlet path.

        Examples :
        - "/foo/" becomes "/foo"
        - "foo/bar" becomes "/foo/bar"
        Parameters:
        fullServletPath - : Servlet mapping
        Returns:
        Servlet mapping without trailing slash and wildcard
      • loadClass

        public static java.lang.Class<?> loadClass​(java.lang.Class<?> thisClass,
                                                   java.lang.String className)
                                            throws java.lang.Exception
        Loading the specified class using some heuristics to support various containers The order of preferece is: 1. Thread.currentThread().getContextClassLoader() 2. Class.forName 3. thisClass.getClassLoader()
        Parameters:
        thisClass -
        className -
        Returns:
        Throws:
        java.lang.Exception
      • isAtmosphere

        public static boolean isAtmosphere​(java.lang.String className)
      • readServiceFile

        public static java.util.Map<java.lang.String,​AtmosphereFramework.MetaServiceAction> readServiceFile​(java.lang.String path)

        This method reads the given file stored under "META-INF/services" and accessed through the framework's class loader to specify a list of actions to be done on different service classes (AtmosphereInterceptor, BroadcastFilter, etc).

        The file content should follows the following format:

         INSTALL
         com.mycompany.MyInterceptor
         com.mycompany.MyFilter
         EXCLUDE
         org.atmosphere.interceptor.HeartbeatInterceptor
         

        If you don't specify any AtmosphereFramework.MetaServiceAction before a class, then default action will be AtmosphereFramework.MetaServiceAction.INSTALL.

        Important note: you must specify a class declared inside a package. Since creating classes in the source root is a bad practice, the method does not deal with it to improve its performances.

        Parameters:
        path - the service file to read
        Returns:
        the map associating class to action
      • close

        public static void close​(java.io.Closeable... closeableArray)

        Tries to close the given objects and log the IOException at INFO level to make the code more readable when we assume that the IOException won't be managed.

        Also ignore null parameters.

        Parameters:
        closeableArray - the objects to close
      • realPath

        public static java.lang.String realPath​(jakarta.servlet.ServletContext servletContext,
                                                java.lang.String targetPath)
                                         throws java.net.MalformedURLException
        Throws:
        java.net.MalformedURLException