All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.struts.util.MessageResourcesFactory Maven / Gradle / Ivy

Go to download

The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and Extensible Markup Language (XML), as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Struts provides its own Controller component and integrates with other technologies to provide the Model and the View. For the Model, Struts can interact with any standard data access technology, including Enterprise Java Beans, JDBC, and Object Relational Bridge. For the View, Struts works well with JavaServer Pages, including JSTL and JSF, as well as Velocity Templates, XSLT, and other presentation systems. The Struts framework provides the invisible underpinnings every professional web application needs to survive. Struts helps you create an extensible development environment for your application, based on published standards and proven design patterns.

There is a newer version: 1.2.9
Show newest version
/*
 * $Id: MessageResourcesFactory.java 264684 2005-08-30 03:08:01Z niallp $ 
 *
 * Copyright 1999-2005 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */ 


package org.apache.struts.util;


import java.io.Serializable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.config.MessageResourcesConfig;


/**
 * Factory for MessageResources instances.  The general usage
 * pattern for this class is:
 * 
    *
  • Call MessageResourcesFactory().createFactory() to retrieve * a MessageResourcesFactory instance.
  • *
  • Set properties as required to configure this factory instance to create * MessageResources instances with desired * characteristics.
  • *
  • Call the createResources() method of the factory to * retrieve a newly instantiated MessageResources * instance.
  • *
* * @version $Rev: 264684 $ $Date: 2005-08-30 04:08:01 +0100 (Tue, 30 Aug 2005) $ */ public abstract class MessageResourcesFactory implements Serializable { // ---------------------------------------------------- Instance Properties /** * Configuration information for Message Resources. */ protected MessageResourcesConfig config; /** * Set the configuration information for Message Resources. * * @since Struts 1.2.8 */ public MessageResourcesConfig getConfig() { return config; } /** * Return the configuration information for Message Resources. * * @since Struts 1.2.8 */ public void setConfig(MessageResourcesConfig config) { this.config = config; } /** * The "return null" property value to which newly created * MessageResourcess should be initialized. */ protected boolean returnNull = true; /** * Get default value of the "returnNull" property used to initialize newly created * MessageResourcess. * @return default value of the "returnNull" property newly created * MessageResourcess are initialized to. */ public boolean getReturnNull() { return (this.returnNull); } /** * Set the default value of the "returnNull" property newly created * MessageResourcess are initialized to. * @param returnNull default value of the "returnNull" MessageResourcess are initialized to. */ public void setReturnNull(boolean returnNull) { this.returnNull = returnNull; } // --------------------------------------------------------- Public Methods /** * Create and return a newly instansiated MessageResources. * This method must be implemented by concrete subclasses. * * @param config Configuration parameter(s) for the requested bundle */ public abstract MessageResources createResources(String config); // ------------------------------------------------------ Static Properties /** * The Java class to be used for * MessageResourcesFactory instances. */ protected static transient Class clazz = null; /** * Commons Logging instance. */ private static Log LOG = LogFactory.getLog(MessageResourcesFactory.class); /** * The fully qualified class name to be used for * MessageResourcesFactory instances. */ protected static String factoryClass = "org.apache.struts.util.PropertyMessageResourcesFactory"; /** * The fully qualified class name that is used for * MessageResourcesFactory instances. * @return class name that is used for * MessageResourcesFactory instances */ public static String getFactoryClass() { return (MessageResourcesFactory.factoryClass); } /** * Set the fully qualified class name that is used for * MessageResourcesFactory instances. * @param factoryClass name that is used for * MessageResourcesFactory instances */ public static void setFactoryClass(String factoryClass) { MessageResourcesFactory.factoryClass = factoryClass; MessageResourcesFactory.clazz = null; } // --------------------------------------------------------- Static Methods /** * Create and return a MessageResourcesFactory instance of the * appropriate class, which can be used to create customized * MessageResources instances. If no such factory can be * created, return null instead. */ public static MessageResourcesFactory createFactory() { // Construct a new instance of the specified factory class try { if (clazz == null) clazz = RequestUtils.applicationClass(factoryClass); MessageResourcesFactory factory = (MessageResourcesFactory) clazz.newInstance(); return (factory); } catch (Throwable t) { LOG.error("MessageResourcesFactory.createFactory", t); return (null); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy