Class ClassLoaders


  • public class ClassLoaders
    extends Object
    Created by tchemit on 30/12/2017.
    Author:
    Tony Chemit - dev@tchemit.fr
    • Constructor Detail

      • ClassLoaders

        public ClassLoaders()
    • Method Detail

      • getURLs

        public static List<URL> getURLs​(String pattern)
        Retourner la liste des fichiers du classLoader. Ces fichiers doivent correspondre au pattern donne.

        Utile par defaut ClassLoader.getSystemClassLoader().

        Parameters:
        pattern - le nom du fichier a extraire du fichier compressé ou du repertoire doit correspondre au pattern (repertoire + nom compris).
        Returns:
        la liste des urls correspondant au pattern
      • getURLs

        public static List<URL> getURLs​(String pattern,
                                        URLClassLoader classLoader)
        Retourner la liste des fichiers du classLoader. Ces fichiers doivent correspondre au pattern donne.
        Parameters:
        classLoader - classloader to use (if null, use ClassLoader.getSystemClassLoader()
        pattern - le nom du fichier a extraire du fichier compressé ou du repertoire doit correspondre au pattern (repertoire + nom compris).
        Returns:
        la liste des urls correspondant au pattern
      • getURLs

        public static URL[] getURLs​(URLClassLoader classLoader)
        Recupere la liste des urls d'un URLClassLoader.

        Note : Un cas particulier est positionné pour JBoss qui utilise la method getAllURLs.

        Parameters:
        classLoader - le class loader a scanner
        Returns:
        les urls du classloader.
      • getURLs

        public static List<URL> getURLs​(String pattern,
                                        URL... arrayURL)
        Retourner la liste des fichiers du classLoader. Ces fichiers doivent correspondre au pattern donne.
        Parameters:
        arrayURL - les urls ou chercher
        pattern - le nom du fichier a extraire du fichier compressé ou dur epertoire doit correspondre au pattern (repertoire + nom compris).
        Returns:
        la liste des urls correspondant au pattern
      • getURLsFromZip

        public static List<URL> getURLsFromZip​(File zipFile,
                                               String pattern)
      • getURL

        public static URL getURL​(String name)
        Recherche la ressource nom.
        Parameters:
        name - nom de la ressource
        Returns:
        l'url de la ressource
      • getURLOrNull

        public static URL getURLOrNull​(String name)
        Recherche la ressource nom.
        Parameters:
        name - le nom de la ressource
        Returns:
        l'url de la ressource ou null
      • isJar

        public static boolean isJar​(String name)
        Verifie si le fichier est un fichier jar.
        Parameters:
        name - nom du fichier a tester
        Returns:
        vrai si le fichier se termine par .jar faux sinon
      • isZip

        public static boolean isZip​(String name)
        Verifie si le fichier est un fichier zip
        Parameters:
        name - nom du fichier a tester
        Returns:
        vrai si le fichier se termine par .zip faux sinon
      • getURLsFromJar

        public static List<URL> getURLsFromJar​(File jarfile,
                                               String pattern)
      • getClassPathURLsFromJarManifest

        public static URL[] getClassPathURLsFromJarManifest​(URL jarURL)
                                                     throws IOException
        Throws:
        IOException
      • getURLsFromDirectory

        public static List<URL> getURLsFromDirectory​(File repository,
                                                     String pattern)
        Retourne la liste des fichiers correspondant au pattern donne, aucun ordre ne doit être supposé sur les fichiers.
        Parameters:
        repository - repertoire dans lequel on recherche les fichiers
        pattern - le nom du fichier a extraire du fichier du repertoire doit correspondre au pattern (repertoire + nom compris). si le pattern est null, tous les fichiers trouvé sont retourné.
        Returns:
        la liste des urls correspondant au pattern
      • toFile

        public static File toFile​(URL url)
        Convert from a URL to a File.

        From version 1.1 this method will decode the URL. Syntax such as file:///my%20docs/file.txt will be correctly decoded to /my docs/file.txt. Starting with version 1.5, this method uses UTF-8 to decode percent-encoded octets to characters. Additionally, malformed percent-encoded octets are handled leniently by passing them through literally.

        Parameters:
        url - the file URL to convert, null returns null
        Returns:
        the equivalent File object, or null if the URL's protocol is not file
      • addDefaultClassLoader

        public static void addDefaultClassLoader​(URL url)
        Permet d'ajouter dans le classloader par defaut une nouvelle URL dans lequel il faut rechercher les fichiers.
        Parameters:
        url - l'url a ajouter
      • addClassLoader

        public static void addClassLoader​(ClassLoader classLoader,
                                          URL url)
        Permet d'ajouter dans un classloader une nouvelle URL dans lequel il faut rechercher les fichiers.
        Parameters:
        classLoader - le classloader a modifier
        url - l'url a ajouter