Class 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 Detail

      • QueryLoader

        protected QueryLoader()
        QueryLoader constructor.
    • Method Detail

      • instance

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

        public Map<String,​Stringload​(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,​StringloadQueries​(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.