org.productivity.java.habitat4j.common
Class ApplicationPropertyListLoader

java.lang.Object
  extended by org.productivity.java.habitat4j.common.ApplicationPropertyListLoader
All Implemented Interfaces:
Habitat4JConstants, ApplicationPropertyListLoaderIF

public class ApplicationPropertyListLoader
extends java.lang.Object
implements Habitat4JConstants, ApplicationPropertyListLoaderIF

This ApplicationPropertyListLoaderIF implementation provides a way for an application to load a set of PropertyList files.

## LICENSE INFORMATION ##

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Version:
$Id: ApplicationPropertyListLoader.html,v 1.2 2008/11/24 15:15:06 cvs Exp $
Author:
Justin Yunke <habitat4j@productivity.org>

Field Summary
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCE_LOCATION
           
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCES
           
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_CONFIGURATION
           
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_PROPERTY_LISTS
           
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCE_LOCATION
           
protected static java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCES
           
protected static java.lang.String CLASS_PACKAGE_SEPARATOR
           
protected static java.lang.String DEFAULT_FILE_SEPARATOR
           
protected  java.lang.String fileSeparator
           
protected  Habitat4JLogger log
           
protected static int SEPARATED_ITEM_DIR
           
protected static int SEPARATED_ITEM_FILE
           
protected static java.lang.String SYSTEM_PROPERTY_FILE_SEPARATOR
           
protected static java.lang.String SYSTEM_PROPERTY_USER_DIR
           
 
Fields inherited from interface org.productivity.java.habitat4j.common.Habitat4JConstants
EOL_SEQUENCE, HABITAT4J_APPNAME_ATTRIBUTE_NAME, HABITAT4J_APPNAME_DEFAULT, HABITAT4J_CONTEXT_APPLICATION_NAME, HABITAT4J_CONTEXT_ENVIRONMENT, HABITAT4J_CONTEXT_INSTANCE_DESCRIPTION, HABITAT4J_CONTEXT_INSTANCE_ENUMERATION, HABITAT4J_CONTEXT_INSTANCE_NAME, HABITAT4J_CONTEXT_INSTANCE_OS, HABITAT4J_CONTEXT_LEGAL_ROLE_NAMES, HABITAT4J_CONTEXT_PREFIX, HABITAT4J_CONTEXT_ROLE_NAME, HABITAT4J_CONTEXT_ROLE_PATCH_LEVEL, HABITAT4J_CONTEXT_ROLE_PRODUCT, HABITAT4J_CONTEXT_ROLE_TYPE, HABITAT4J_CONTEXT_ROLE_VENDOR, HABITAT4J_CONTEXT_ROLE_VERSION, HABITAT4J_DEFINITIONS_PACKAGE, HABITAT4J_GENERIC_VALUE_DEFAULT, HABITAT4J_GENERIC_VALUE_EMPTY_STRING, HABITAT4J_GENERIC_VALUE_FALSE, HABITAT4J_GENERIC_VALUE_NO, HABITAT4J_GENERIC_VALUE_OFF, HABITAT4J_GENERIC_VALUE_ON, HABITAT4J_GENERIC_VALUE_ONE, HABITAT4J_GENERIC_VALUE_TRUE, HABITAT4J_GENERIC_VALUE_YES, HABITAT4J_GENERIC_VALUE_ZERO, HABITAT4J_HIDDEN_FIELD_DECODED, HABITAT4J_HIDDEN_FIELD_DECODED_DECRYPTED, HABITAT4J_HIDDEN_FIELD_DECRYPTED, HABITAT4J_LOG4J_LOGGER, HABITAT4J_LOG4J_LOGMANAGER_CLASS, HABITAT4J_LOG4J_LOGMANAGER_GETLOGGER_METHOD, HABITAT4J_PRAGMA_ATTRIBUTE_NAME, HABITAT4J_PRAGMA_ATTRIBUTE_VALUE, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_APPEND, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_PREPEND, HABITAT4J_PROPERTY_ARRAY_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_ARRAY_ITEM_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_APPEND, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_PREPEND, HABITAT4J_PROPERTY_BEAN_ARRAY_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_ARRAY_ITEM_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_ITEM_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ARRAY_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_CLASS_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_REFLECT, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_COPY_METHOD_VALUE_SERIALIZE, HABITAT4J_PROPERTY_BEAN_DESCRIPTOR_ID_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_HASH_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_HASH_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_BEAN_HASH_ITEM_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_ITEM_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_HASH_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_ID_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_INIT_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_BEAN_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_BEAN_NAME_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_BEAN_SETTER_METHOD_PREFIX, HABITAT4J_PROPERTY_BEAN_VALUE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_DECODING_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_DECRYPTING_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_DEFAULT, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_REPLACE, HABITAT4J_PROPERTY_HASH_INSTANCE_ATTRIBUTE_VALUE_REVISE, HABITAT4J_PROPERTY_HASH_ITEM_METHOD_PREFIX, HABITAT4J_PROPERTY_HASH_KEY_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_HASH_TYPE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_KIND_HABITAT4J, HABITAT4J_PROPERTY_KIND_SECURITY, HABITAT4J_PROPERTY_KIND_SYSTEM, HABITAT4J_PROPERTY_LIST_NAME_DEFAULT, HABITAT4J_PROPERTY_LIST_TO_STRING_ITEMS_PER_LINE_DEFAULT, HABITAT4J_PROPERTY_LIST_XSD_RESOURCE_PATH_DEFAULT, HABITAT4J_PROPERTY_NAME_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_TYPE_DELIMITER, HABITAT4J_PROPERTY_VALUE_ATTRIBUTE_NAME, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_DELIMITER, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_PREFIX, HABITAT4J_PROPERTY_VALUE_SUBSTITUTION_SUFFIX, HABITAT4J_ROLE_ATTRIBUTE_NAME, HABITAT4J_SAX_DRIVER_DEFAULT, HABITAT4J_SAX_DRIVER_SYSTEM_PROPERTY_NAME, HABITAT4J_SAX_SCHEMA_FEATURE, HABITAT4J_SAX_VALIDATION_FEATURE, HABITAT4J_SAX_XSD_LOCATION, HABITAT4J_SERVER_IDENTITY_FILE_PATH_DEFAULT, HABITAT4J_SERVER_IDENTITY_FILE_PATH_SYSTEM_PROPERTY_NAME, HABITAT4J_SERVER_IDENTITY_XSD_RESOURCE_PATH_DEFAULT, HABITAT4J_TEMP_PROPERTY_LIST_PREFIX, HABITAT4J_UNIX_OS_NAME_LIST_PROPERTY_NAME, HABITAT4J_VERSION, HABITAT4J_WINDOWS_OS_NAME_LIST_PROPERTY_NAME, HABITAT4J_XML_ELEMENT_DELIMITER, SAX_DRIVER_SYSTEM_PROPERTY_NAME, SERVER_IDENTITY_INSTANCE_OS_OTHER, SERVER_IDENTITY_INSTANCE_OS_UNIX, SERVER_IDENTITY_INSTANCE_OS_WINDOWS, SERVER_IDENTITY_MODE_FILE, SERVER_IDENTITY_MODE_JVM, SERVER_IDENTITY_MODE_JVM_ENVIRONMENT, SERVER_IDENTITY_MODE_JVM_INSTANCE_DESCRIPTION, SERVER_IDENTITY_MODE_JVM_INSTANCE_ENUMERATION, SERVER_IDENTITY_MODE_JVM_INSTANCE_NAME, SERVER_IDENTITY_MODE_NULL, SYSTEM_PROPERTY_OS_NAME
 
Constructor Summary
ApplicationPropertyListLoader()
           
 
Method Summary
protected  void configureFileSystemPropertyListReload()
           
protected  java.lang.String getPropertyPath(java.lang.String[] item, ApplicationPropertyListResourceLocation plrl, java.lang.String separator)
           
protected  java.lang.String[] getSeparatedItem(java.lang.String item, java.lang.String separator)
           
 void load(java.lang.String applicationName)
           
protected  void loadClassPathPropertyLists()
           
protected  void loadFileSystemPropertyLists()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_CONFIGURATION

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_CONFIGURATION
See Also:
Constant Field Values

BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_PROPERTY_LISTS

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RELOAD_PROPERTY_LISTS
See Also:
Constant Field Values

BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCE_LOCATION

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCE_LOCATION
See Also:
Constant Field Values

BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCES

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_FILE_SYSTEM_PROPERTY_LIST_RESOURCES
See Also:
Constant Field Values

BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCE_LOCATION

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCE_LOCATION
See Also:
Constant Field Values

BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCES

protected static final java.lang.String BOOTSTRAP_PROPERTY_NAME_CLASS_PATH_PROPERTY_LIST_RESOURCES
See Also:
Constant Field Values

log

protected Habitat4JLogger log

SYSTEM_PROPERTY_FILE_SEPARATOR

protected static final java.lang.String SYSTEM_PROPERTY_FILE_SEPARATOR
See Also:
Constant Field Values

SYSTEM_PROPERTY_USER_DIR

protected static final java.lang.String SYSTEM_PROPERTY_USER_DIR
See Also:
Constant Field Values

DEFAULT_FILE_SEPARATOR

protected static final java.lang.String DEFAULT_FILE_SEPARATOR
See Also:
Constant Field Values

CLASS_PACKAGE_SEPARATOR

protected static final java.lang.String CLASS_PACKAGE_SEPARATOR
See Also:
Constant Field Values

fileSeparator

protected java.lang.String fileSeparator

SEPARATED_ITEM_DIR

protected static final int SEPARATED_ITEM_DIR
See Also:
Constant Field Values

SEPARATED_ITEM_FILE

protected static final int SEPARATED_ITEM_FILE
See Also:
Constant Field Values
Constructor Detail

ApplicationPropertyListLoader

public ApplicationPropertyListLoader()
Method Detail

configureFileSystemPropertyListReload

protected void configureFileSystemPropertyListReload()

getSeparatedItem

protected java.lang.String[] getSeparatedItem(java.lang.String item,
                                              java.lang.String separator)
Parameters:
item -
separator -
Returns:
Returns a two-entry String array that contains a directory and file separately.

getPropertyPath

protected java.lang.String getPropertyPath(java.lang.String[] item,
                                           ApplicationPropertyListResourceLocation plrl,
                                           java.lang.String separator)

loadFileSystemPropertyLists

protected void loadFileSystemPropertyLists()
                                    throws PropertyListHandlerException
Throws:
PropertyListHandlerException

loadClassPathPropertyLists

protected void loadClassPathPropertyLists()
                                   throws PropertyListHandlerException
Throws:
PropertyListHandlerException

load

public void load(java.lang.String applicationName)
          throws ApplicationPropertyListLoaderException
Specified by:
load in interface ApplicationPropertyListLoaderIF
Throws:
ApplicationPropertyListLoaderException