org.nuiton.util
Class Resource

java.lang.Object
  extended by org.nuiton.util.Resource

public class Resource
extends Object

Cette class permet de rechercher un fichier en indiquant son nom avec son chemin. Cette librairie ira ensuite chercher ce fichier sur le système de fichier, et s'il n'est pas trouvé dans le classpath. Le fichier peut donc être dans un fichier .jar ou .zip. Exemple :

 URL image = Resource.getURL("/images/bidulle.png");
 

Created: 5 août 2003

Author:
bpoussin $Id: Resource.java 2111 2011-04-16 10:56:44Z fdesbois $

Constructor Summary
protected Resource()
           
 
Method Summary
static void addClassLoader(ClassLoader classLoader, URL url)
          Permet d'ajouter dans un classloader une nouvelle URL dans lequel il faut rechercher les fichiers.
static void addDefaultClassLoader(URL url)
          Permet d'ajouter dans le classloader par defaut une nouvelle URL dans lequel il faut rechercher les fichiers.
static boolean containsDirectDirectory(URL url, String directory)
          Test if an url contains the given directory with no recurse seeking.
static URL[] getClassPathURLsFromJarManifest(URL jarURL)
           
static Properties getConfigProperties(String filename)
          Deprecated. since 1.1.2, use ApplicationConfig class instead to ApplicationConfig.setConfigFileName(String) and search properties file from more folders with ApplicationConfig.parse(String[]) method
static Properties getConfigProperties(String filename, Properties parent)
          Deprecated. since 1.1.2, use ApplicationConfig class instead to ApplicationConfig.setConfigFileName(String) and search properties file from more folders with ApplicationConfig.parse(String[]) method
static ImageIcon getIcon(String name)
          Retourne l'icone demandee.
static Class getPrimitiveClass(Class clazz)
          Retourne la classe du type primitf associé avec la classe de de l'objet passé en parametre.
static URL getURL(String name)
          Recherche la ressource nom.
static URL getURLOrNull(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)
          Deprecated. should use now ClassLoaderUtil.getURLs(URLClassLoader)
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 boolean isJar(String name)
          Verifie si le fichier est un fichier jar.
static boolean isPrimitive(Class clazz)
          Verifie si la classe est de type primitif.
static boolean isZip(String name)
          Verifie si le fichier est un fichier zip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Resource

protected Resource()
Method Detail

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

getURL

public static URL getURL(String name)
Recherche la ressource nom.

Parameters:
name - nom de la ressource
Returns:
l'url de la ressource
Throws:
ResourceNotFoundException - si la resource n'a pas ete trouvee

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

getIcon

public static ImageIcon getIcon(String name)
Retourne l'icone demandee.

Parameters:
name - le nom de l'icone
Returns:
Retourne l'icon demande ou null s'il n'est pas trouvé

getConfigProperties

@Deprecated
public static Properties getConfigProperties(String filename)
                                      throws IOException
Deprecated. since 1.1.2, use ApplicationConfig class instead to ApplicationConfig.setConfigFileName(String) and search properties file from more folders with ApplicationConfig.parse(String[]) method

Recherche et retourne l'objet properties de configuration à utiliser.

Les différents fichiers trouvé sont chainé. L'ordre de recherche est le classpath, le fichier dans /etc et enfin le chemin sur le filesystem.

Parameters:
filename - le nom du fichier à rechercher
Returns:
l'objet Properties de configuration
Throws:
IOException - si une erreur est survenue

getConfigProperties

@Deprecated
public static Properties getConfigProperties(String filename,
                                                        Properties parent)
                                      throws IOException
Deprecated. since 1.1.2, use ApplicationConfig class instead to ApplicationConfig.setConfigFileName(String) and search properties file from more folders with ApplicationConfig.parse(String[]) method

Recherche et retourne l'objet properties de configuration à utiliser.

Les différents fichiers trouvé sont chainé. L'ordre de recherche est le classpath, le fichier dans /etc et enfin le chemin sur le filesystem.

Parameters:
filename - le nom du fichier à rechercher
parent - les proprietes parent a surcharger
Returns:
l'objet Properties de configuration
Throws:
IOException - si une erreur est survenue

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

@Deprecated
public static URL[] getURLs(URLClassLoader classLoader)
Deprecated. should use now ClassLoaderUtil.getURLs(URLClassLoader)

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 classloade.

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 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 durepertoire doit correspondre au pattern (repertoire + nom compris).
Returns:
la liste des urls correspondant au pattern

getClassPathURLsFromJarManifest

public static URL[] getClassPathURLsFromJarManifest(URL jarURL)
                                             throws IOException,
                                                    URISyntaxException
Throws:
IOException
URISyntaxException

getURLsFromZip

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

getURLsFromJar

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

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

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

isPrimitive

public static boolean isPrimitive(Class clazz)
Verifie si la classe est de type primitif.

Parameters:
clazz - nom de la classe a tester
Returns:
vrai si le classe est de type primitif faux sinon

getPrimitiveClass

public static Class getPrimitiveClass(Class clazz)
Retourne la classe du type primitf associé avec la classe de de l'objet passé en parametre. Par exemple si la classe passée en paramètre est Integer alors le resultat sera la classe de int.

Parameters:
clazz - la classe dont on souhaite le type primitf
Returns:
le type primitif associé a la classe en paramètre, ou null s'il n'y a pas de type primitif associé.

containsDirectDirectory

public static boolean containsDirectDirectory(URL url,
                                              String directory)
                                       throws IOException
Test if an url contains the given directory with no recurse seeking.

Parameters:
url - the url to seek
directory - the directory to find
Returns:
true if directory was found, false otherwise.
Throws:
IOException - if any io pb


Copyright © 2004-2011 CodeLutin. All Rights Reserved.