org.blojsom.util
Class BlojsomProperties

java.lang.Object
  extended byjava.util.Dictionary
      extended byjava.util.Hashtable
          extended byjava.util.Properties
              extended byorg.blojsom.util.BlojsomProperties
All Implemented Interfaces:
BlojsomConstants, java.lang.Cloneable, java.util.Map, java.io.Serializable

public class BlojsomProperties
extends java.util.Properties
implements BlojsomConstants

BlojsomProperties

Saving properties in non-ISO encodings, based on java.util.Properties

Since:
blojsom 2.01
Version:
$Id: BlojsomProperties.java,v 1.12 2006/01/04 16:59:54 czarneckid Exp $
Author:
David Czarnecki, Jorg Prante
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.Properties
defaults
 
Fields inherited from interface org.blojsom.util.BlojsomConstants
ADMINISTRATORS_IP, BLOG_ADMIN_URL_IP, BLOG_ADMINISTRATION_LOCALE_IP, BLOG_AUTHORIZATION_IP, BLOG_BASE_URL_IP, BLOG_BLACKLIST_FILE_IP, BLOG_COMMENTS_DIRECTORY_IP, BLOG_COMMENTS_ENABLED_IP, BLOG_COUNTRY_DEFAULT, BLOG_COUNTRY_IP, BLOG_DEFAULT_CATEGORY_EXCLUSION_MAPPING_IP, BLOG_DEFAULT_CATEGORY_MAPPING_IP, BLOG_DEFAULT_FETCHER, BLOG_DEFAULT_FILE_EXTENSION_IP, BLOG_DEFAULT_FLAVOR_IP, BLOG_DEFAULT_PROPERTIES, BLOG_DEPTH_IP, BLOG_DESCRIPTION_IP, BLOG_DIRECTORY_FILTER_IP, BLOG_EMAIL_ENABLED_IP, BLOG_ENTRIES_DISPLAY_DEFAULT, BLOG_ENTRIES_DISPLAY_IP, BLOG_ENTRY_META_DATA_EXTENSION_IP, BLOG_FILE_ENCODING_IP, BLOG_FILE_EXTENSIONS_IP, BLOG_HOME_IP, BLOG_LANGUAGE_DEFAULT, BLOG_LANGUAGE_IP, BLOG_NAME_IP, BLOG_OWNER, BLOG_OWNER_EMAIL, BLOG_PERMISSIONS_IP, BLOG_PINGBACKS_DIRECTORY_IP, BLOG_PINGBACKS_ENABLED_IP, BLOG_PROPERTIES_EXTENSIONS_IP, BLOG_TRACKBACK_DIRECTORY_IP, BLOG_TRACKBACKS_ENABLED_IP, BLOG_URL_IP, BLOJSOM_ALL_CATEGORIES, BLOJSOM_AUTHORIZATION_PROVIDER_IP, BLOJSOM_BLOG, BLOJSOM_BLOG_HOME_IP, BLOJSOM_BROADCASTER_IP, BLOJSOM_CATEGORIES, BLOJSOM_COMMENTS_ENABLED, BLOJSOM_CONFIGURATION_BASE_DIRECTORY_IP, BLOJSOM_CONFIGURATION_IP, BLOJSOM_DATE, BLOJSOM_DATE_ISO8601, BLOJSOM_DATE_OBJECT, BLOJSOM_DATE_UTC, BLOJSOM_DEFAULT_BROADCASTER, BLOJSOM_DEFAULT_CONFIGURATION_BASE_DIRECTORY, BLOJSOM_DEFAULT_RESOURCE_DIRECTORY, BLOJSOM_DEFAULT_RESOURCE_MANAGER, BLOJSOM_DEFAULT_TEMPLATES_DIRECTORY, BLOJSOM_DEFAULT_USER_IP, BLOJSOM_EMAIL_ENABLED, BLOJSOM_ENTRIES, BLOJSOM_FETCHER_IP, BLOJSOM_FLAVOR_CONFIGURATION_IP, BLOJSOM_INSTALLATION_DIRECTORY_IP, BLOJSOM_INSTALLED_LOCALES_IP, BLOJSOM_LAST_MODIFIED, BLOJSOM_LISTENER_CONFIGURATION_IP, BLOJSOM_PERMALINK, BLOJSOM_PERMALINK_NEXT_ENTRY, BLOJSOM_PERMALINK_PREVIOUS_ENTRY, BLOJSOM_PLUGIN_CHAIN, BLOJSOM_PLUGIN_CONFIGURATION_IP, BLOJSOM_PLUGINS, BLOJSOM_REQUESTED_CATEGORY, BLOJSOM_REQUESTED_FLAVOR, BLOJSOM_RESOURCE_DIRECTORY_IP, BLOJSOM_RESOURCE_MANAGER_BUNDLES_IP, BLOJSOM_RESOURCE_MANAGER_CONTEXT_KEY, BLOJSOM_RESOURCE_MANAGER_IP, BLOJSOM_SITE_URL, BLOJSOM_TEMPLATES_DIRECTORY_IP, BLOJSOM_USER, BLOJSOM_USERS_IP, BLOJSOM_VERSION, BLOJSOM_VERSION_NUMBER, CACHE_CONTROL_HTTP_HEADER, CATEGORY_PARAM, COMMENT_EXTENSION, DEFAULT_AUTHORIZATION_PROVIDER, DEFAULT_COMMENTS_DIRECTORY, DEFAULT_DIGEST_ALGORITHM, DEFAULT_DISPATCHER_CONFIGURATION_FILE, DEFAULT_ENTRY_EXTENSION, DEFAULT_FLAVOR_CONFIGURATION_FILE, DEFAULT_FLAVOR_HTML, DEFAULT_METADATA_EXTENSION, DEFAULT_PERMISSIONS_CONFIGURATION_FILE, DEFAULT_PINGBACKS_DIRECTORY, DEFAULT_PLUGIN_CONFIGURATION_FILE, DEFAULT_PROPERTIES_EXTENSIONS, DEFAULT_TRACKBACK_DIRECTORY, DESCRIPTION_KEY, DIGEST_ALGORITHM, FLAVOR_PARAM, HTTP_ETAG, HTTP_LASTMODIFIED, INFINITE_BLOG_DEPTH, ISO_8601_DATE_FORMAT, LINE_SEPARATOR, LINEAR_NAVIGATION_ENABLED_IP, MAX_HASHABLE_LENGTH, NAME_KEY, NO_CACHE_HTTP_HEADER_VALUE, OVERRIDE_LASTMODIFIED_PARAM, PAGE_PARAM, PAGE_PARAM_ARCHIVE, PERMALINK_PARAM, PINGBACK_EXTENSION, PLUGINS_PARAM, PRAGMA_HTTP_HEADER, PREFERRED_SYNDICATION_FLAVOR, RECURSIVE_CATEGORIES, REDIRECT_TO_PARAM, RFC_822_DATE_FORMAT, SHORT_ISO_8601_DATE_FORMAT, TRACKBACK_EXTENSION, USE_ENCRYPTED_PASSWORDS, UTC_DATE_FORMAT, UTF8, WHITESPACE, XMLRPC_ENABLED_IP
 
Constructor Summary
BlojsomProperties()
          Properties class extension with customizable encoding support.
BlojsomProperties(boolean allowMultipleValues)
          Properties class extension with customizable encoding support.
BlojsomProperties(java.util.Properties defaults)
          Properties class extension with customizable encoding support.
BlojsomProperties(java.lang.String encoding)
          Properties class extension with customizable encoding support.
 
Method Summary
 java.lang.String getProperty(java.lang.String key)
          Searches for the property with the specified key in this property list.
 java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
          Searches for the property with the specified key in this property list.
 void load(java.io.InputStream in)
          Load the properties from disk
 void setAllowMultipleValues(boolean allowMultipleValues)
          Set whether or not multiple values should be allowed.
 void setEncoding(java.lang.String encoding)
          Set the encoding used to read and write the properties file
 void store(java.io.OutputStream out, java.lang.String header)
          Write the properties to disk
 
Methods inherited from class java.util.Properties
list, list, propertyNames, save, setProperty
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BlojsomProperties

public BlojsomProperties()
Properties class extension with customizable encoding support. This is useful for Unicode encodings like UTF-8, which is not compatible with Java's default Properties encoding of 8859-1.


BlojsomProperties

public BlojsomProperties(boolean allowMultipleValues)
Properties class extension with customizable encoding support. This is useful for Unicode encodings like UTF-8, which is not compatible with Java's default Properties encoding of 8859-1.

If allowMultipleValues is true, then this class will allow multiple values for a single key. They will be stored under the same key in a List.

Parameters:
allowMultipleValues - If multiple keys are allowed

BlojsomProperties

public BlojsomProperties(java.util.Properties defaults)
Properties class extension with customizable encoding support. This is useful for Unicode encodings like UTF-8, which is not compatible with Java's default Properties encoding of 8859-1.

Parameters:
defaults - Default properties to initialize the Properties object

BlojsomProperties

public BlojsomProperties(java.lang.String encoding)
Properties class extension with customizable encoding support. This is useful for Unicode encodings like UTF-8, which is not compatible with Java's default Properties encoding of 8859-1.

Parameters:
encoding - Character encoding to use when reading and writing properties
Method Detail

setAllowMultipleValues

public void setAllowMultipleValues(boolean allowMultipleValues)
Set whether or not multiple values should be allowed. If allowMultipleValues is true, then this class will allow multiple values for a single key. They will be stored under the same key in a List.

Parameters:
allowMultipleValues - If multiple values should be allowed.
Since:
blojsom 2.18

setEncoding

public void setEncoding(java.lang.String encoding)
Set the encoding used to read and write the properties file

Parameters:
encoding - File encoding for reading and writing of the properties file
Since:
blojsom 2.18

store

public void store(java.io.OutputStream out,
                  java.lang.String header)
           throws java.io.IOException
Write the properties to disk

Parameters:
out - Output stream to write to
header - Header to write at the top of the properties file
Throws:
java.io.IOException - If there is an error writing the properties

load

public void load(java.io.InputStream in)
          throws java.io.IOException
Load the properties from disk

Parameters:
in - Input stream from which to read the properties
Throws:
java.io.IOException - If there is an error reading the properties

getProperty

public java.lang.String getProperty(java.lang.String key)
Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns null if the property is not found.

Parameters:
key - the property key.
Returns:
the value in this property list with the specified key value.
See Also:
Properties.setProperty(java.lang.String, java.lang.String), Properties.defaults

getProperty

public java.lang.String getProperty(java.lang.String key,
                                    java.lang.String defaultValue)
Searches for the property with the specified key in this property list. If the key is not found in this property list, the default property list, and its defaults, recursively, are then checked. The method returns the default value argument if the property is not found.

Parameters:
key - the hashtable key.
defaultValue - a default value.
Returns:
the value in this property list with the specified key value.
See Also:
Properties.setProperty(java.lang.String, java.lang.String), Properties.defaults