001 /*
002 * $Id: JDBCResourcesFactory.java 349025 2005-11-25 21:09:54Z niallp $
003 * $Revision: 349025 $
004 * $Date: 2005-11-25 21:09:54 +0000 (Fri, 25 Nov 2005) $
005 *
006 * ====================================================================
007 *
008 * Copyright 2003-2005 The Apache Software Foundation
009 *
010 * Licensed under the Apache License, Version 2.0 (the "License");
011 * you may not use this file except in compliance with the License.
012 * You may obtain a copy of the License at
013 *
014 * http://www.apache.org/licenses/LICENSE-2.0
015 *
016 * Unless required by applicable law or agreed to in writing, software
017 * distributed under the License is distributed on an "AS IS" BASIS,
018 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
019 * See the License for the specific language governing permissions and
020 * limitations under the License.
021 *
022 */
023
024 package org.apache.commons.resources.impl;
025
026 import org.apache.commons.resources.Resources;
027 import org.apache.commons.resources.ResourcesException;
028
029 /**
030 * <p>Concrete implementation of
031 * {@link org.apache.commons.resources.ResourcesFactory} that creates
032 * {@link org.apache.commons.resources.Resources} instances that wraps
033 * a JDBC database connection and retrieves values for the given
034 * <code>Locale</code> and have name suffixes reflecting the
035 * <code>Locale</code> for which the document's messages apply.
036 * For this specific implementation, resources are looked up in
037 * a hierarchy of database values in a manner identical to that
038 * performed by <code>java.util.ResourceBundle.getBundle().</code>.
039 *
040 * @author James Mitchell
041 * @version $Revision: 349025 $
042 */
043 public class JDBCResourcesFactory extends ResourcesFactoryBase {
044
045
046 // ------------------------------------------------------ Protected Methods
047
048
049 /**
050 * <p>Create and return a new {@link org.apache.commons.resources.Resources}
051 * instance with the specified logical name, after calling its <code>init()</code>
052 * method and delegating the relevant properties.</p>
053 *
054 * @param name Logical name of the {@link org.apache.commons.resources.Resources}
055 * instance to create
056 *
057 * @param config Configuration string for this resource (if any)
058 * @return The new Resources instance.
059 *
060 * @exception ResourcesException if a {@link org.apache.commons.resources.Resources}
061 * instance of the specified logical name cannot be created.
062 */
063 protected Resources createResources(String name, String config) {
064
065 Resources res = new JDBCResources(name, config);
066 res.setReturnNull(isReturnNull());
067 res.init();
068 return (res);
069
070 }
071
072
073 }