Package org.apache.commons.dbutils

# Class QueryLoader

java.lang.Object
org.apache.commons.dbutils.QueryLoader

public class QueryLoader extends Object
`QueryLoader` is a registry for sets of queries so that multiple copies of the same queries aren't loaded into memory. This implementation loads properties files filled with query name to SQL mappings. This class is thread safe.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `QueryLoader()`
  QueryLoader constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static QueryLoader`
  `instance()`
  Return an INSTANCE of this class.
  `Map<String,String>`
  `load(String path)`
  Loads a Map of query names to SQL values.
  `protected Map<String,String>`
  `loadQueries(String path)`
  Loads a set of named queries into a Map object.
  `void`
  `unload(String path)`
  Removes the queries for the given path from the cache.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### QueryLoader

    protected QueryLoader()
    QueryLoader constructor.

- ## Method Details

  - ### instance

    public static QueryLoader instance()
    Return an INSTANCE of this class.
    Returns:
      The Singleton INSTANCE.

  - ### load

    public Map<String,String> load(String path) throws IOException
    Loads a Map of query names to SQL values. The Maps are cached so a subsequent request to load queries from the same path will return the cached Map. The properties file to load can be in either line-oriented or XML format. XML formatted properties files must use a `.xml` file extension.
    Parameters:
      `path` - The path that the ClassLoader will use to find the file. This is not a file system path. If you had a jarred Queries.properties file in the com.yourcorp.app.jdbc package you would pass "/com/yourcorp/app/jdbc/Queries.properties" to this method.
    Returns:
      Map of query names to SQL values
    Throws:
      `IOException` - if a file access error occurs
      `IllegalArgumentException` - if the ClassLoader can't find a file at the given path.
      `InvalidPropertiesFormatException` - if the XML properties file is invalid
    See Also:
      - `Properties`

  - ### loadQueries

    protected Map<String,String> loadQueries(String path) throws IOException
    Loads a set of named queries into a Map object. This implementation reads a properties file at the given path. The properties file can be in either line-oriented or XML format. XML formatted properties files must use a `.xml` file extension.
    Parameters:
      `path` - The path that the ClassLoader will use to find the file.
    Returns:
      Map of query names to SQL values
    Throws:
      `IOException` - if a file access error occurs
      `IllegalArgumentException` - if the ClassLoader can't find a file at the given path.
      `InvalidPropertiesFormatException` - if the XML properties file is invalid
    Since:
      1.1
    See Also:
      - `Properties`

  - ### unload

    public void unload(String path)
    Removes the queries for the given path from the cache.
    Parameters:
      `path` - The path that the queries were loaded from.