|
WebObjects 5.3 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.util.AbstractMap
java.util.HashMap
com.webobjects.webservices.support.xml.WOStringKeyMap
This class is a subclass of java.util.HashMap designed to generate XML in which
the element name is the key's value and the element's content is the object mapped to the key.
Since a typical HashMap supports keys of any type, it generates XML with key value pairs and
synthetic element names. The WOStringKeyMap only accepts keys of type java.lang.String which
contain only characters valid in an XML element name.
This class also implements the NSKeyValueCoding interface.
| Nested Class Summary |
| Nested classes inherited from class com.webobjects.foundation.NSKeyValueCoding |
NSKeyValueCoding.DefaultImplementation, NSKeyValueCoding.ErrorHandling, NSKeyValueCoding.Null, NSKeyValueCoding.UnknownKeyException, NSKeyValueCoding.Utility, NSKeyValueCoding.ValueAccessor |
| Nested classes inherited from class com.webobjects.foundation.NSKeyValueCodingAdditions |
NSKeyValueCodingAdditions.DefaultImplementation, NSKeyValueCodingAdditions.Utility |
| Field Summary |
| Fields inherited from interface com.webobjects.foundation.NSKeyValueCoding |
NullValue |
| Fields inherited from interface com.webobjects.foundation.NSKeyValueCodingAdditions |
KeyPathSeparator |
| Constructor Summary | |
WOStringKeyMap()
|
|
WOStringKeyMap(int capacity)
|
|
WOStringKeyMap(Map m)
|
|
WOStringKeyMap(NSDictionary d)
Create a WOStringKeyMap and initialize values from d. |
|
| Method Summary | |
NSDictionary |
dictionary()
Create and return an NSDictionary containing the keys and values in the receiver. |
void |
takeValueForKey(Object value,
String key)
Sets the value for the property identified by key to value. |
void |
takeValueForKeyPath(Object value,
String keyPath)
Sets the value for the property identified by keyPath
to value. |
Object |
valueForKey(String key)
Retrieves the value of the property named by key. |
Object |
valueForKeyPath(String keyPath)
Retrieves the value of a property of the object at the end of the key path (a key path is a string of the form "key1.key2"). |
| Methods inherited from class java.util.HashMap |
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values |
| Methods inherited from class java.util.AbstractMap |
equals, hashCode, toString |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Map |
equals, hashCode |
| Constructor Detail |
public WOStringKeyMap()
public WOStringKeyMap(int capacity)
public WOStringKeyMap(Map m)
public WOStringKeyMap(NSDictionary d)
d. If NSKeyValueCoding.NullValue
appears as a value in d, it will be replaced with null.
d - an NSDictionary| Method Detail |
public NSDictionary dictionary()
null values in the receiver, they will be replaced by NSKeyValueCoding.NullValue.
public void takeValueForKey(Object value,
String key)
NSKeyValueCodingkey to value.The default implementation provided by NSKeyValueCoding.DefaultImplementation works as follows:
setKey, and invokes it if there is one._setKey,
and invokes it if there is one.canAccessFieldsDirectly returns true, searches for a
field based on key and sets its value directly.
For the key "lastName", this would be _lastName, _isLastName, lastName, or isLastName.
value argument is not compatible with the underlying field or method parameter, the default implementation will make an effort to
convert between different Java numeric types (Integer, Double, BigDecimal, etc) as well as between Boolean and Number (true = 1, false = 0). If any other
conversion would be necessary, an exception is thrown.
handleTakeValueForUnboundKey
if the object implements NSKeyValueCoding.ErrorHandling or throws
NSKeyValueCoding.UnknownKeyException if the object does not.Note: : The default implementations have significant performance optimizations. To benefit from them, implement NSKeyValueCoding on a custom class as shown above by using the methods in NSKeyValueCoding. DefaultImplementation, or if your class inherits from an WebObjects class that implements NSKeyValueCoding, do not override the inherited implementation. Using a custom implementation incurs significant performance penalties.
takeValueForKey in interface NSKeyValueCodingvalue - the new value for the property named by keykey - identifies the property to changeNSKeyValueCoding.NullValue,
NSKeyValueCoding.valueForKey(java.lang.String),
NSKeyValueCoding.DefaultImplementation,
NSKeyValueCoding.ErrorHandling,
NSKeyValueCoding.ErrorHandling.handleTakeValueForUnboundKey(java.lang.Object, java.lang.String)
public void takeValueForKeyPath(Object value,
String keyPath)
NSKeyValueCodingAdditionskeyPath
to value. A key path has the form relationship.property
(with one or more relationships); for example "movieRole.roleName"
or "movieRole.talent.lastName". The default implementation of
this method (provided by NSKeyValueCodingAdditions.DefaultImplementation)
gets the destination object for each relationship using valueForKey,
and sends the final object a takeValueForKey message with value
and property.
takeValueForKeyPath in interface NSKeyValueCodingAdditionsvalue - the property identified by keyPath is set to thiskeyPath - identifies the property of an objectNSKeyValueCoding.takeValueForKey(java.lang.Object, java.lang.String),
NSKeyValueCodingAdditions.valueForKeyPath(java.lang.String),
NSKeyValueCodingAdditions.DefaultImplementationpublic Object valueForKey(String key)
NSKeyValueCodingkey.The default implementation provided by NSKeyValueCoding.DefaultImplementation works as follows:
key. For
example, with a key of "lastName", the method looks for a method named
getLastName, lastName, or isLastName.canAccessFieldsDirectly returns true, the method searches
for a field based on key and returns its value
directly. For the key "lastName", this would be _lastName, _isLastName, lastName, or isLastName.Note: The default implementations have significant performance optimizations. To benefit from them, implement NSKeyValueCoding on a custom class as shown above by using the methods in NSKeyValueCoding.DefaultImplementation, or if your class inherits from an WebObjects class that implements NSKeyValueCoding, do not override the inherited implementation. Using a custom implementation incurs significant performance penalties.
valueForKey in interface NSKeyValueCodingkey - identifies the property to retrieve
key. Depending on the object you invoke this method upon, null may be replaced with NullValueNSKeyValueCoding.NullValue,
NSKeyValueCoding.takeValueForKey(java.lang.Object, java.lang.String),
NSKeyValueCoding.DefaultImplementation,
NSKeyValueCoding.ErrorHandling,
NSKeyValueCoding.ErrorHandling.handleQueryWithUnboundKey(java.lang.String)public Object valueForKeyPath(String keyPath)
NSKeyValueCodingAdditionsvalueForKey,
and returns the result of a valueForKey message to the final
object.
valueForKeyPath in interface NSKeyValueCodingAdditionskeyPath - the keypath to evaluate
keyPathNSKeyValueCoding.valueForKey(java.lang.String),
NSKeyValueCodingAdditions.takeValueForKeyPath(java.lang.Object, java.lang.String),
NSKeyValueCodingAdditions.DefaultImplementation
|
Last updated Thu May 26 13:46:12 PDT 2005. | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||