| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
My reading of the NSProperties API leads me to believe that the order of priority for preferences are as follows (but it's not explicitly stated)...
That is, in your numbering: 1, 4, 2, 3
Attachment:
%NSProperties.html
Description: application/applefile
com.webobjects.foundation
| ||||||||||||||||||||||||||||||||||||||||||||
| Format | Example | |
|---|---|---|
-Dkey=value
|
-DWOPort=4321
|
|
-key value
|
-WOAutoOpenInBrowser NO
|
Properties specified in
these formats will be available as System properties after you
invoke setPropertiesFromArgv.
To access the application properties you first need to merge the application and command line properties with the System properties. AThe application properties are automatically merged with the System properties when a WebObjects application starts up. automatically performs this step for you. You can then access the property as a string, and convert the string to the property's actual data type.
To obtain the application
properties and merge them with the System properties you have to
invoke setPropertiesFromArgv.
Every property is a key-value pair. For example, on Mac OS X, the property value for the key
"java.vendor" is "Apple Computer, Inc.". To access a
property corresponding to a particular key, use the
java.lang.System.getProperty method. This method which returns the property as a string.
If the property string represents a value other than
java.lang.String, for example, "TRUE" for a boolean value, the String value, "("San Francisco", "New York",
"Seoul", "London", "Seattle", "Shanghai")" for an NSArray, or
the String value, "{ user = wshakesp; birth
= 1564; death = 1616; }" for an NSDictionary, you can convert
it to the appropriate data type using the
NSPropertyListSerialization's booleanForString,
arrayForString, or dictionaryForString
method, respectively. NSPropertyListSerialization also provides an
intForString method to simplify converting a property
string to an integer.
More on the representation of non-String properties as strings can be found in the document: "Property List Programming Guide for Cocoa".
| Constructor Summary | |
NSProperties()
|
|
| Method Summary | |
static NSArray
|
arrayForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and convert the property to a string using NSPropertyListSerialization.arrayForString.
|
static boolean
|
booleanForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and convert it to a boolean using NSPropertyListSerialization.booleanForString.
|
static NSData
|
dataForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty, convert the property to a property list using NSPropertyListSerialization.propertyListFromString, and convert the property list to an NSData object using NSPropertyListSerialization.dataFromPropertyList.
|
static NSDictionary
|
dictionaryForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and convert the property to an NSDictionary using NSPropertyListSerialization.dictionaryForString
|
static double
|
doubleForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and convert the property to a double.
|
static float
|
floatForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and and convert the property to a float.
|
static String
|
getProperty(String name)
|
static String
|
getProperty(String name, String defaultValue)
|
static int
|
integerForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and convert it to an integer using NSPropertyListSerialization.intForString.
|
static long
|
longForKey(String aKey)
Deprecated. Instead, find the System property using System.getProperty and and convert the property to a long.
|
static void
|
setPropertiesFromArgv(String[] argv)
Loads all of the application's properties from all the four three sources described in the class description and merges them with the Java System properties. This method is called for you -- calling it again does no good! |
static String
|
stringForKey(String aKey)
Deprecated. Use System.getProperty(java.lang.String).
|
static NSDictionary
|
valuesFromArgv(String[] argv)
Parses a String array of properties. Also not very useful. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
| Constructor Detail |
public NSProperties()
| Method Detail |
public static NSArray arrayForKey(String aKey)
System.getProperty and convert the property to a string using NSPropertyListSerialization.arrayForString.
aKey - input key whose property will be converted to NSArray
aKey or null if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String), NSPropertyListSerialization.arrayForString(java.lang.String)
public static boolean booleanForKey(String aKey)
System.getProperty and convert it to a boolean using NSPropertyListSerialization.booleanForString.
aKey - input key whose property will be converted to boolean
aKey or false if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String), NSPropertyListSerialization.booleanForString(java.lang.String)
public static NSData dataForKey(String aKey)
System.getProperty, convert the property to a property list using NSPropertyListSerialization.propertyListFromString, and convert the property list to an NSData object using NSPropertyListSerialization.dataFromPropertyList.
aKey - input key whose property will be converted to NSData
NSData.EmptyData if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String), NSPropertyListSerialization.propertyListFromString(java.lang.String), NSPropertyListSerialization.dataFromPropertyList(java.lang.Object)
public static NSDictionary dictionaryForKey(String aKey)
System.getProperty and convert the property to an NSDictionary using NSPropertyListSerialization.dictionaryForString
aKey - input key whose property will be converted to NSDictionary
NSDictionary.EmptyDictionary if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String), NSPropertyListSerialization.dictionaryForString(java.lang.String)
public static double doubleForKey(String aKey)
System.getProperty and convert the property to a double.
aKey - input key whose property will be converted to a double
0 if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String)
public static float floatForKey(String aKey)
System.getProperty and and convert the property to a float.
aKey - input key whose property will be converted to a float
0 if the System property indicated by aKey does not exist
NullPointerException - aKey is null
System.getProperty(java.lang.String)
public static String getProperty(String name)
public static String getProperty(String name, String defaultValue)
public static int integerForKey(String aKey)
System.getProperty and convert it to an integer using NSPropertyListSerialization.intForString.
aKey - input key whose property will be converted to an integer
aKey or 0 if no System property with that name exists
NullPointerException - aKey is null
System.getProperty(java.lang.String), NSPropertyListSerialization.intForString(java.lang.String)
public static long longForKey(String aKey)
System.getProperty and and convert the property to a long.
aKey - input key whose property will be converted to a long
0 if the property indicated by aKey does not exist
NullPointerException - aKey is null
System.getProperty(java.lang.String)
public static void setPropertiesFromArgv(String[] argv)
This method obtains the properties for every bundle in the
application including the application and all of the frameworks
it includes. It also merges any properties specified by the
string array argv into the System properties.
This method is called by WOApplication, so by the time the application is running usefully all the various application properties have been merged with the System properties.
This method is of very little value for the application programmer -- the actual command line arguments are not available, and this method cannnot be over-ridden. It can add properties from a general String array to the System properties.
argv - a String array representing extra properties to be merged into System properties
Properties
public static String stringForKey(String aKey)
System.getProperty(java.lang.String).
System.getProperty(key).
Equivalent to System.getProperty(key).
aKey - System property being inquired
aKey
public static NSDictionary valuesFromArgv(String[] argv)
This method is of very little value for the application programmer -- the actual command line arguments are not available, and this method cannnot be over-ridden. There are much easier ways to create an NSDictionary of key/value pairs.
argv - a String array of properties to be parsed
NSDictionary
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/email@hidden This email sent to email@hidden
| References: | |
| >NSProperties order of priority (app/framework/command line)? (From: Lachlan Deck <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.