Java Doc for UserProperties.java in  » Source-Control » jcvsweb » com » ice » util » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Source Control » jcvsweb » com.ice.util 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.ice.util.UserProperties

UserProperties
abstract public class UserProperties (Code)
The UserProperties class. This class is used to extend the concept of System.getProperty(). This class adds the following features:
  • A hierarchical property definition structure.
  • Typed property retrieval with default values.
  • Hierarchical overrides allowings properties to be overridden on a per user or per host or per host and user basis.
  • The ability to load from any valid resource, including files stored in JAR files, files located via the file system, which includes networked file systems, as well as any other resource that can be identified via a URL, including web pages, FTP-ed files, and more.

Here is how it works. We have six levels of properties which are loaded based on various settings. The levels look like this:

  1. Hardwired defaults.
  2. Application defined defaults.
  3. Defaults resource.
  4. System level resource list.
  5. Application property file.
  6. Application resource list.

Resource lists are colon (:) separated strings listing resource names to be loaded into the properties.

In a typical deployment, the developer will place the defaults resource in the JAR file containing the application's classes. This file will then define the application properties file, which will usually be left empty allowing the user to place all customizations in this local file. For distributed applications, system resources will typically be supplied via simple web pages, which allows for automatic updates of many properties. The application resource list is then typically reserved for specific user customizations, or for distributed customizations, or updates.

Typically, the System Resource List is defined in the Defaults Resource. However, it can also be defined by the application defaults, or can be hardwired into the code if desired. Further, the Application Resource List is typically defined by the Application Property File, although it can be defined in any of the previous loaded resources.

Also note that the application prefix can be set at any point up to and including the defaults resource. After the defaults resource is loaded, the prefix property is consulted, and if set, is used as the new application prefix. The prefix property is named by adding together the application's package name and the string 'propertyPrefix'. Thus, the prefix property for 'com.ice.jcvs' would be named 'com.ice.jcvs.propertyPrefix', and would typically be set in the defaults resource.

Things the application must do to use this class:

  • Set the property prefix via UserProperties.setPropertyPrefix()
  • Set the defaults resource via UserProperties.setDefaultsResource()
  • Process any arguments via UserProperties.processOptions()
  • Load all properties.

Here is an example from a typical main():

 UserProperties.setPropertyPrefix( "WebTool." );
 UserProperties.setDefaultsResource
 ( "/com/ice/webtool/defaults.txt" );
 // PROCESS PROPERTIES OPTIONS
 // The returned args are those not processed.
 args = UserProperties.processOptions( args );
 // Now app should process remaining arguments...
 // LOAD PROPERTIES 
 UserProperties.loadProperties( "com.ice.webtool", null );
 

Properties are accessed via the getProperty() methods, which provide versions for String, int, double, and boolean values. Any property is looked for as follows:

  1. fullname.osname.username
  2. fullname.username
  3. fullname.osname
  4. fullname
Whichever property is found first is returned. The fullname consists of the property name prefixed by the application's property prefix. The username and osname suffixes are used to override general properties by os or by user. These suffixes are printed at startup to System.err. The osname suffix is the osname with spaces replaced by underscores. The username suffix is the user's name with spaces replaced by underscores.

If the property name starts with a period (.), then the prefix is not added to get the full name. If the property name ends with a period (.), then none of the suffixes are applied, and only the name is used to search for a property.

Thus, while the property name "mainWindow.x" would match a property definition named "prefix.mainWindow.x.user", the property ".mainWindow.x." would match a property with only that name and no prefix or suffix, and the property "mainWindow.x." would match "prefix.mainWindow.x" only and not allow for suffix overrides.

The following parameters are understood by processOptions():

  • -propPrefix prefix -- sets the property prefix.
  • -propFile filename -- sets the application property file.
  • -propDefaults resource -- sets the defaults resource name.
  • -propDebug -- turns on debugging of property handling.
  • -propVerbose -- turns on verbosity.
  • -propOS osname -- set the property os suffix.
  • -propUser username -- set the property user name suffix.

version:
   $Revision: 1.10 $
author:
   Tim Endres,
author:
   time@ice.com.




Method Summary
public static  voidaddDefaultProperties(Properties props, Properties defaultProps)
    
public static  voiddefaultProperties(Properties props)
     Establishes critical default properties.
public static  intgetClassConstant(String name, int defval)
     Retrieve a system Class constant property.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value.
public static  ColorgetColor(String name, Color defaultColor)
    
public static  FontgetFont(String name, Font defaultFont)
    
public static  StringgetLineSeparator()
    
public static  StringgetOSName()
    
public static  StringgetProperty(String name, String defval)
     Retrieve a system string property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default string value.
public static  intgetProperty(String name, int defval)
     Retrieve a system integer property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value.
public static  longgetProperty(String name, long defval)
     Retrieve a system long property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value.
public static  doublegetProperty(String name, double defval)
     Retrieve a system double property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default double value.
public static  booleangetProperty(String name, boolean defval)
     Retrieve a system boolean property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default boolean value.
public static  StringgetPropertyPrefix()
    
public static  String[]getStringArray(String name, String[] defval)
     Retrieve a system string array property list.
public static  VectorgetStringVector(String name, Vector defval)
    
public static  StringgetUserHome()
    
public static  StringgetUserName()
    
public static  voidincludeProperties(Properties into, Properties from)
    
public static  voidloadProperties(String packageName, Properties appProps)
     Load all related properties for this application.
public static  StringnormalizePropertyName(String name)
    
public static  StringprefixedPropertyName(String name)
    
public static  voidprintContext(PrintStream out)
    
public static  voidprintUsage(PrintStream out)
    
public static  String[]processOptions(String[] args)
    
public static  voidregisterDynamicProperties(String name, String path, Properties props)
    
public static  voidremoveDynamicProperty(String name, String propName)
     This method removes a property from the dynamic properties.
public static  voidsaveDynamicProperties(String name)
    
public static  voidsetDebug(boolean debug)
    
public static  voidsetDefaultsResource(String rsrcName)
    
public static  voidsetDynamicProperties(String name, Properties props)
    
public static  voidsetDynamicProperty(String name, String propName, String propValue)
     This method expects the property keys to be not normalized, meaning that they are the full property name with the prefix added on.
public static  voidsetLocalPropertyFile(String fileName)
    
public static  voidsetOSSuffix(String suffix)
    
public static  voidsetPropertyPrefix(String prefix)
    
public static  voidsetUserSuffix(String suffix)
    
public static  voidsetVerbose(boolean verbose)
    



Method Detail
addDefaultProperties
public static void addDefaultProperties(Properties props, Properties defaultProps)(Code)



defaultProperties
public static void defaultProperties(Properties props)(Code)
Establishes critical default properties.
Parameters:
  props - The system properties to add properties into.



getClassConstant
public static int getClassConstant(String name, int defval)(Code)
Retrieve a system Class constant property.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value. The integer value of the named property.



getColor
public static Color getColor(String name, Color defaultColor)(Code)



getFont
public static Font getFont(String name, Font defaultFont)(Code)



getLineSeparator
public static String getLineSeparator()(Code)



getOSName
public static String getOSName()(Code)



getProperty
public static String getProperty(String name, String defval)(Code)
Retrieve a system string property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default string value. The string value of the named property.



getProperty
public static int getProperty(String name, int defval)(Code)
Retrieve a system integer property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value. The integer value of the named property.



getProperty
public static long getProperty(String name, long defval)(Code)
Retrieve a system long property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default integer value. The integer value of the named property.



getProperty
public static double getProperty(String name, double defval)(Code)
Retrieve a system double property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default double value. The double value of the named property.



getProperty
public static boolean getProperty(String name, boolean defval)(Code)
Retrieve a system boolean property. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default boolean value. The boolean value of the named property.



getPropertyPrefix
public static String getPropertyPrefix()(Code)



getStringArray
public static String[] getStringArray(String name, String[] defval)(Code)
Retrieve a system string array property list. String arrays are represented by colon separated strings. Returns a provided default value if the property is not defined.
Parameters:
  name - The name of the property to retrieve.
Parameters:
  defval - A default boolean value. The string array value of the named property.



getStringVector
public static Vector getStringVector(String name, Vector defval)(Code)



getUserHome
public static String getUserHome()(Code)



getUserName
public static String getUserName()(Code)



includeProperties
public static void includeProperties(Properties into, Properties from)(Code)



loadProperties
public static void loadProperties(String packageName, Properties appProps)(Code)
Load all related properties for this application. This class method will look for a global properties file, loading it if found, then looks for a local properties file and loads that.



normalizePropertyName
public static String normalizePropertyName(String name)(Code)



prefixedPropertyName
public static String prefixedPropertyName(String name)(Code)



printContext
public static void printContext(PrintStream out)(Code)



printUsage
public static void printUsage(PrintStream out)(Code)



processOptions
public static String[] processOptions(String[] args)(Code)



registerDynamicProperties
public static void registerDynamicProperties(String name, String path, Properties props)(Code)



removeDynamicProperty
public static void removeDynamicProperty(String name, String propName)(Code)
This method removes a property from the dynamic properties.



saveDynamicProperties
public static void saveDynamicProperties(String name) throws IOException(Code)



setDebug
public static void setDebug(boolean debug)(Code)



setDefaultsResource
public static void setDefaultsResource(String rsrcName)(Code)



setDynamicProperties
public static void setDynamicProperties(String name, Properties props)(Code)



setDynamicProperty
public static void setDynamicProperty(String name, String propName, String propValue)(Code)
This method expects the property keys to be not normalized, meaning that they are the full property name with the prefix added on.



setLocalPropertyFile
public static void setLocalPropertyFile(String fileName)(Code)



setOSSuffix
public static void setOSSuffix(String suffix)(Code)



setPropertyPrefix
public static void setPropertyPrefix(String prefix)(Code)



setUserSuffix
public static void setUserSuffix(String suffix)(Code)



setVerbose
public static void setVerbose(boolean verbose)(Code)



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.