org.icepdf.ri.util
Class PropertiesManager

java.lang.Object
  extended by org.icepdf.ri.util.PropertiesManager

public class PropertiesManager
extends java.lang.Object

This class provides a very basic Properties Management system for the viewer application. Settings such as window location and temporary file information is managed by this class.

Since:
1.0

Field Summary
static java.lang.String DEFAULT_MESSAGE_BUNDLE
           
static java.lang.String PROPERTY_DEFAULT_PAGEFIT
           
static java.lang.String PROPERTY_DEFAULT_ZOOM_LEVEL
           
static java.lang.String PROPERTY_DIVIDER_LOCATION
           
static java.lang.String PROPERTY_HIDE_UTILITYPANE
           
static java.lang.String PROPERTY_PRINT_MEDIA_SIZE_HEIGHT
           
static java.lang.String PROPERTY_PRINT_MEDIA_SIZE_UNIT
           
static java.lang.String PROPERTY_PRINT_MEDIA_SIZE_WIDTH
           
static java.lang.String PROPERTY_SHOW_KEYBOARD_SHORTCUTS
           
static java.lang.String PROPERTY_SHOW_STATUSBAR
           
static java.lang.String PROPERTY_SHOW_STATUSBAR_STATUSLABEL
           
static java.lang.String PROPERTY_SHOW_STATUSBAR_VIEWMODE
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_ANNOTATION
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_FIT
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_FORMS
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_PAGENAV
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_ROTATE
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_TOOL
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_UTILITY
           
static java.lang.String PROPERTY_SHOW_TOOLBAR_ZOOM
           
static java.lang.String PROPERTY_SHOW_UTILITY_OPEN
           
static java.lang.String PROPERTY_SHOW_UTILITY_PRINT
           
static java.lang.String PROPERTY_SHOW_UTILITY_SAVE
           
static java.lang.String PROPERTY_SHOW_UTILITY_SEARCH
           
static java.lang.String PROPERTY_SHOW_UTILITY_UPANE
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_ANNOTATION
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_ANNOTATION_FLAGS
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_BOOKMARKS
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_LAYERS
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_SEARCH
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_SIGNATURES
           
static java.lang.String PROPERTY_SHOW_UTILITYPANE_THUMBNAILS
           
static java.lang.String PROPERTY_UTILITYPANE_THUMBNAILS_ZOOM
           
static java.lang.String PROPERTY_VIEWPREF_FITWINDOW
           
static java.lang.String PROPERTY_VIEWPREF_FORM_HIGHLIGHT
           
static java.lang.String PROPERTY_VIEWPREF_HIDEMENUBAR
           
static java.lang.String PROPERTY_VIEWPREF_HIDETOOLBAR
           
static java.lang.String PROPERTY_ZOOM_RANGES
           
static java.lang.String SYSPROPERTY_HIGHLIGHT_COLOR
           
 
Constructor Summary
PropertiesManager(java.util.Properties sysProps, java.util.Properties props, java.util.ResourceBundle messageBundle)
          New instance of properties manager with properties overrides defined in props.
PropertiesManager(java.util.Properties sysProps, java.util.ResourceBundle messageBundle)
           
PropertiesManager(java.util.Properties sysProps, java.lang.String propPath, java.util.ResourceBundle messageBundle)
          New instance of properties manager with properties overrides defined in an external file defined by propPath.
 
Method Summary
 boolean backupProperties()
           
static boolean checkAndStoreBooleanProperty(PropertiesManager properties, java.lang.String propertyName)
           
static boolean checkAndStoreBooleanProperty(PropertiesManager properties, java.lang.String propertyName, boolean defaultVal)
          Method to check the value of a boolean property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)
static double checkAndStoreDoubleProperty(PropertiesManager properties, java.lang.String propertyName)
           
static double checkAndStoreDoubleProperty(PropertiesManager properties, java.lang.String propertyName, double defaultVal)
          Method to check the value of a double property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)
static float[] checkAndStoreFloatArrayProperty(PropertiesManager properties, java.lang.String propertyName, float[] defaultVal)
          Method to check the value of a comma separate list of floats property For example we will convert "0.4f, 0.5f, 0.6f" to a size 3 array with the values as floats This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)
static int checkAndStoreIntegerProperty(PropertiesManager properties, java.lang.String propertyName)
           
static int checkAndStoreIntegerProperty(PropertiesManager properties, java.lang.String propertyName, int defaultVal)
          Method to check the value of an int property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)
 boolean getBoolean(java.lang.String propertyName)
           
 boolean getBoolean(java.lang.String propertyName, boolean defaultValue)
           
 java.lang.String getDefaultFilePath()
           
 java.lang.String getDefaultURL()
           
 double getDouble(java.lang.String propertyName)
          Return a double value for the respective propertyName.
 double getDouble(java.lang.String propertyName, double defaultValue)
          Return a double value for the respective propertyName.
 float getFloat(java.lang.String propertyName)
          Return a float value for the respective propertyName.
 int getInt(java.lang.String propertyName)
           
 int getInt(java.lang.String propertyName, int defaultValue)
           
 long getLong(java.lang.String propertyName)
           
 long getLong(java.lang.String propertyName, long defaultValue)
           
 java.lang.String getLookAndFeel(java.lang.String propertyName, java.lang.String defaultValue)
           
 java.io.InputStream getResourceAsStream(java.lang.String prefix, java.lang.String resourcePath)
           
 java.lang.String getString(java.lang.String propertyName)
           
 java.lang.String getString(java.lang.String propertyName, java.lang.String defaultValue)
           
 java.lang.String getSystemEncoding()
           
 java.util.Properties getSystemProperties()
           
 void loadProperties()
           
static java.lang.String makeResPath(java.lang.String prefix, java.lang.String base_name)
           
 void remove(java.lang.String propertyName)
           
 void saveAndEnd()
           
 void saveProperties()
           
 void set(java.lang.String propertyName, java.lang.String value)
           
 void setBoolean(java.lang.String propertyName, boolean value)
           
 void setDefaultFilePath(java.lang.String defaultFilePath)
           
 void setDefaultURL(java.lang.String defaultURL)
           
 void setDouble(java.lang.String propertyName, double value)
           
 void setFloat(java.lang.String propertyName, float value)
           
 void setInt(java.lang.String propertyName, int value)
           
 void setLong(java.lang.String propertyName, long value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MESSAGE_BUNDLE

public static final java.lang.String DEFAULT_MESSAGE_BUNDLE
See Also:
Constant Field Values

PROPERTY_DIVIDER_LOCATION

public static final java.lang.String PROPERTY_DIVIDER_LOCATION
See Also:
Constant Field Values

PROPERTY_DEFAULT_PAGEFIT

public static final java.lang.String PROPERTY_DEFAULT_PAGEFIT
See Also:
Constant Field Values

PROPERTY_PRINT_MEDIA_SIZE_WIDTH

public static final java.lang.String PROPERTY_PRINT_MEDIA_SIZE_WIDTH
See Also:
Constant Field Values

PROPERTY_PRINT_MEDIA_SIZE_HEIGHT

public static final java.lang.String PROPERTY_PRINT_MEDIA_SIZE_HEIGHT
See Also:
Constant Field Values

PROPERTY_PRINT_MEDIA_SIZE_UNIT

public static final java.lang.String PROPERTY_PRINT_MEDIA_SIZE_UNIT
See Also:
Constant Field Values

SYSPROPERTY_HIGHLIGHT_COLOR

public static final java.lang.String SYSPROPERTY_HIGHLIGHT_COLOR
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_UTILITY

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_UTILITY
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_PAGENAV

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_PAGENAV
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_ZOOM

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_ZOOM
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_FIT

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_FIT
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_ROTATE

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_ROTATE
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_TOOL

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_TOOL
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_ANNOTATION

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_ANNOTATION
See Also:
Constant Field Values

PROPERTY_SHOW_TOOLBAR_FORMS

public static final java.lang.String PROPERTY_SHOW_TOOLBAR_FORMS
See Also:
Constant Field Values

PROPERTY_SHOW_STATUSBAR

public static final java.lang.String PROPERTY_SHOW_STATUSBAR
See Also:
Constant Field Values

PROPERTY_SHOW_STATUSBAR_STATUSLABEL

public static final java.lang.String PROPERTY_SHOW_STATUSBAR_STATUSLABEL
See Also:
Constant Field Values

PROPERTY_SHOW_STATUSBAR_VIEWMODE

public static final java.lang.String PROPERTY_SHOW_STATUSBAR_VIEWMODE
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITY_OPEN

public static final java.lang.String PROPERTY_SHOW_UTILITY_OPEN
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITY_SAVE

public static final java.lang.String PROPERTY_SHOW_UTILITY_SAVE
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITY_PRINT

public static final java.lang.String PROPERTY_SHOW_UTILITY_PRINT
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITY_SEARCH

public static final java.lang.String PROPERTY_SHOW_UTILITY_SEARCH
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITY_UPANE

public static final java.lang.String PROPERTY_SHOW_UTILITY_UPANE
See Also:
Constant Field Values

PROPERTY_HIDE_UTILITYPANE

public static final java.lang.String PROPERTY_HIDE_UTILITYPANE
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_BOOKMARKS

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_BOOKMARKS
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_SEARCH

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_SEARCH
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_THUMBNAILS

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_THUMBNAILS
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_LAYERS

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_LAYERS
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_ANNOTATION

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_ANNOTATION
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_ANNOTATION_FLAGS

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_ANNOTATION_FLAGS
See Also:
Constant Field Values

PROPERTY_SHOW_UTILITYPANE_SIGNATURES

public static final java.lang.String PROPERTY_SHOW_UTILITYPANE_SIGNATURES
See Also:
Constant Field Values

PROPERTY_UTILITYPANE_THUMBNAILS_ZOOM

public static final java.lang.String PROPERTY_UTILITYPANE_THUMBNAILS_ZOOM
See Also:
Constant Field Values

PROPERTY_DEFAULT_ZOOM_LEVEL

public static final java.lang.String PROPERTY_DEFAULT_ZOOM_LEVEL
See Also:
Constant Field Values

PROPERTY_ZOOM_RANGES

public static final java.lang.String PROPERTY_ZOOM_RANGES
See Also:
Constant Field Values

PROPERTY_SHOW_KEYBOARD_SHORTCUTS

public static final java.lang.String PROPERTY_SHOW_KEYBOARD_SHORTCUTS
See Also:
Constant Field Values

PROPERTY_VIEWPREF_HIDETOOLBAR

public static final java.lang.String PROPERTY_VIEWPREF_HIDETOOLBAR
See Also:
Constant Field Values

PROPERTY_VIEWPREF_HIDEMENUBAR

public static final java.lang.String PROPERTY_VIEWPREF_HIDEMENUBAR
See Also:
Constant Field Values

PROPERTY_VIEWPREF_FITWINDOW

public static final java.lang.String PROPERTY_VIEWPREF_FITWINDOW
See Also:
Constant Field Values

PROPERTY_VIEWPREF_FORM_HIGHLIGHT

public static final java.lang.String PROPERTY_VIEWPREF_FORM_HIGHLIGHT
See Also:
Constant Field Values
Constructor Detail

PropertiesManager

public PropertiesManager(java.util.Properties sysProps,
                         java.util.ResourceBundle messageBundle)

PropertiesManager

public PropertiesManager(java.util.Properties sysProps,
                         java.util.Properties props,
                         java.util.ResourceBundle messageBundle)
New instance of properties manager with properties overrides defined in props.

Parameters:
sysProps - system properties
props - Properties object containing properties that will be applied over the default properties have been setup.
messageBundle - message bundle for i8n that allows dialogs in this class to correct display the associated language

PropertiesManager

public PropertiesManager(java.util.Properties sysProps,
                         java.lang.String propPath,
                         java.util.ResourceBundle messageBundle)
New instance of properties manager with properties overrides defined in an external file defined by propPath.

Parameters:
sysProps - system properties
propPath - Properties file containing properties that will be applied over the default properties have been setup.
messageBundle - message bundle for i8n that allows dialogs in this class to correct display the associated language
Method Detail

getSystemProperties

public java.util.Properties getSystemProperties()

loadProperties

public void loadProperties()

saveAndEnd

public void saveAndEnd()

saveProperties

public void saveProperties()

backupProperties

public boolean backupProperties()

set

public void set(java.lang.String propertyName,
                java.lang.String value)

remove

public void remove(java.lang.String propertyName)

getString

public java.lang.String getString(java.lang.String propertyName,
                                  java.lang.String defaultValue)

getString

public java.lang.String getString(java.lang.String propertyName)

getInt

public int getInt(java.lang.String propertyName,
                  int defaultValue)

getInt

public int getInt(java.lang.String propertyName)

setInt

public void setInt(java.lang.String propertyName,
                   int value)

getDouble

public double getDouble(java.lang.String propertyName,
                        double defaultValue)
Return a double value for the respective propertyName. If there is no propertyName then return the defaultValue.

Parameters:
propertyName - Name of property from the ICEdefault.properties file.
defaultValue - default value if the propertyNamecan not be found.
Returns:
double value of the propertyName.
Since:
6.0

getDouble

public double getDouble(java.lang.String propertyName)
Return a double value for the respective propertyName.

Parameters:
propertyName - Name of property from the ICEdefault.properties file.
Returns:
double value of the propertyName
Since:
6.0

getFloat

public float getFloat(java.lang.String propertyName)
Return a float value for the respective propertyName.

Parameters:
propertyName - Name of property from the ICEdefault.properties file.
Returns:
double value of the propertyName
Since:
6.0

setDouble

public void setDouble(java.lang.String propertyName,
                      double value)

setFloat

public void setFloat(java.lang.String propertyName,
                     float value)

getLong

public long getLong(java.lang.String propertyName,
                    long defaultValue)

getLong

public long getLong(java.lang.String propertyName)

setLong

public void setLong(java.lang.String propertyName,
                    long value)

getBoolean

public boolean getBoolean(java.lang.String propertyName,
                          boolean defaultValue)

getBoolean

public boolean getBoolean(java.lang.String propertyName)

setBoolean

public void setBoolean(java.lang.String propertyName,
                       boolean value)

getSystemEncoding

public java.lang.String getSystemEncoding()

getLookAndFeel

public java.lang.String getLookAndFeel(java.lang.String propertyName,
                                       java.lang.String defaultValue)

getDefaultFilePath

public java.lang.String getDefaultFilePath()

getDefaultURL

public java.lang.String getDefaultURL()

setDefaultFilePath

public void setDefaultFilePath(java.lang.String defaultFilePath)

setDefaultURL

public void setDefaultURL(java.lang.String defaultURL)

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String prefix,
                                               java.lang.String resourcePath)

makeResPath

public static java.lang.String makeResPath(java.lang.String prefix,
                                           java.lang.String base_name)

checkAndStoreBooleanProperty

public static boolean checkAndStoreBooleanProperty(PropertiesManager properties,
                                                   java.lang.String propertyName)

checkAndStoreBooleanProperty

public static boolean checkAndStoreBooleanProperty(PropertiesManager properties,
                                                   java.lang.String propertyName,
                                                   boolean defaultVal)
Method to check the value of a boolean property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)

Parameters:
properties - to check with
propertyName - to check for
defaultVal - to default to if no value is found on a property
Returns:
true if property is true, otherwise false

checkAndStoreDoubleProperty

public static double checkAndStoreDoubleProperty(PropertiesManager properties,
                                                 java.lang.String propertyName)

checkAndStoreDoubleProperty

public static double checkAndStoreDoubleProperty(PropertiesManager properties,
                                                 java.lang.String propertyName,
                                                 double defaultVal)
Method to check the value of a double property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)

Parameters:
properties - to check with
propertyName - to check for
defaultVal - to default to if no value is found on a property
Returns:
double property value

checkAndStoreIntegerProperty

public static int checkAndStoreIntegerProperty(PropertiesManager properties,
                                               java.lang.String propertyName)

checkAndStoreIntegerProperty

public static int checkAndStoreIntegerProperty(PropertiesManager properties,
                                               java.lang.String propertyName,
                                               int defaultVal)
Method to check the value of an int property This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)

Parameters:
properties - to check with
propertyName - to check for
defaultVal - to default to if no value is found on a property
Returns:
int value of property

checkAndStoreFloatArrayProperty

public static float[] checkAndStoreFloatArrayProperty(PropertiesManager properties,
                                                      java.lang.String propertyName,
                                                      float[] defaultVal)
Method to check the value of a comma separate list of floats property For example we will convert "0.4f, 0.5f, 0.6f" to a size 3 array with the values as floats This is meant to be used for configuration via the properties file After the property has been checked, it will be stored back into the Properties object (using a default value if none was found)

Parameters:
properties - to check with
propertyName - to check for
defaultVal - to default to if no value is found on a property
Returns:
array of floats from the property