net.sf.jzeno.settings
Class DiscoveryUtils

java.lang.Object
  extended by net.sf.jzeno.settings.DiscoveryUtils

public class DiscoveryUtils
extends java.lang.Object

Utility class to load/save property file.


Nested Class Summary
static class DiscoveryUtils.MultiOutputStream
           
 
Constructor Summary
DiscoveryUtils()
           
 
Method Summary
static boolean canSave()
           
static java.util.List getAllJarFileURLs()
           
static java.lang.String getClassesFolderPath()
           
static java.lang.String getWebInfPath()
           
static void loadProperties(java.util.Properties props, java.lang.String fileName)
           
static java.io.InputStream openFile(java.lang.String fileName)
           Opens a single file.
static java.io.OutputStream openFileForWriting(java.lang.String fileName, boolean createIfNew)
           Opens a single file for writing.
static void recurseFileSystem(java.util.List foundURLs, java.io.File currentLocation, java.lang.String fileNameOrExtension, boolean exactMatch)
           
static void saveProperties(java.util.Properties props, java.lang.String fileName)
           
static java.util.List scanForFiles(java.lang.String fileNameOrExtension, boolean exactMatch)
           Scans for files that match exactly or have a specified extension.
static java.util.List scanForFilesInFolder(java.lang.String rootFolder, java.lang.String fileNameOrExtension, boolean exactMatch)
           
static java.util.List scanForFilesInJars(java.lang.String libRoot, java.lang.String fileNameOrExtension, boolean exactMatch)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiscoveryUtils

public DiscoveryUtils()
Method Detail

loadProperties

public static void loadProperties(java.util.Properties props,
                                  java.lang.String fileName)

canSave

public static boolean canSave()

saveProperties

public static void saveProperties(java.util.Properties props,
                                  java.lang.String fileName)

openFile

public static java.io.InputStream openFile(java.lang.String fileName)

Opens a single file. For the exact rules on where this method looks, see scanForFiles(String, boolean).


openFileForWriting

public static java.io.OutputStream openFileForWriting(java.lang.String fileName,
                                                      boolean createIfNew)

Opens a single file for writing. For the exact rules on where this method looks, see scanForFiles(String, boolean). It may also create the required file if not found, if you request it to do so.


scanForFiles

public static java.util.List scanForFiles(java.lang.String fileNameOrExtension,
                                          boolean exactMatch)

Scans for files that match exactly or have a specified extension. If the application is running in a web container the method scans:

  1. WEB-INF/classes
  2. WEB-INF/lib (all jars)

If the application is running outside a web container (eg. unit testing) the method scans: *

  1. all jars on the classpath
  2. all folders on the classpath

Returns a list of URLs pointing to the matching files.


getAllJarFileURLs

public static java.util.List getAllJarFileURLs()

scanForFilesInJars

public static java.util.List scanForFilesInJars(java.lang.String libRoot,
                                                java.lang.String fileNameOrExtension,
                                                boolean exactMatch)

scanForFilesInFolder

public static java.util.List scanForFilesInFolder(java.lang.String rootFolder,
                                                  java.lang.String fileNameOrExtension,
                                                  boolean exactMatch)

recurseFileSystem

public static void recurseFileSystem(java.util.List foundURLs,
                                     java.io.File currentLocation,
                                     java.lang.String fileNameOrExtension,
                                     boolean exactMatch)

getWebInfPath

public static java.lang.String getWebInfPath()

getClassesFolderPath

public static java.lang.String getClassesFolderPath()
                                             throws java.io.IOException
Throws:
java.io.IOException