Package org.nuiton.eugene
Class ClassLoaders
- java.lang.Object
-
- org.nuiton.eugene.ClassLoaders
-
public class ClassLoaders extends Object
Created by tchemit on 30/12/2017.- Author:
- Tony Chemit - dev@tchemit.fr
-
-
Constructor Summary
Constructors Constructor Description ClassLoaders()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddClassLoader(ClassLoader classLoader, URL url)Permet d'ajouter dans un classloader une nouvelle URL dans lequel il faut rechercher les fichiers.static voidaddDefaultClassLoader(URL url)Permet d'ajouter dans le classloader par defaut une nouvelle URL dans lequel il faut rechercher les fichiers.static URL[]getClassPathURLsFromJarManifest(URL jarURL)static URLgetURL(String name)Recherche la ressource nom.static URLgetURLOrNull(String name)Recherche la ressource nom.static List<URL>getURLs(String pattern)Retourner la liste des fichiers du classLoader.static List<URL>getURLs(String pattern, URL... arrayURL)Retourner la liste des fichiers du classLoader.static List<URL>getURLs(String pattern, URLClassLoader classLoader)Retourner la liste des fichiers du classLoader.static URL[]getURLs(URLClassLoader classLoader)Recupere la liste des urls d'unURLClassLoader.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.static List<URL>getURLsFromJar(File jarfile, String pattern)static List<URL>getURLsFromZip(File zipFile, String pattern)static booleanisJar(String name)Verifie si le fichier est un fichier jar.static booleanisZip(String name)Verifie si le fichier est un fichier zipstatic FiletoFile(URL url)Convert from aURLto aFile.
-
-
-
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, useClassLoader.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'unURLClassLoader.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 chercherpattern- 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
-
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
-
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 fichierspattern- 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 aURLto aFile.From version 1.1 this method will decode the URL. Syntax such as
file:///my%20docs/file.txtwill 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,nullreturnsnull- Returns:
- the equivalent
Fileobject, ornullif the URL's protocol is notfile
-
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 modifierurl- l'url a ajouter
-
-