14
|
1 /**
|
|
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
|
|
3 * Authors: Jacob Carlborg
|
|
4 * Version: Initial created: Aug 3, 2009
|
|
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
|
|
6 */
|
|
7 module dstep.foundation.NSKeyValueCoding;
|
|
8
|
|
9 import dstep.foundation.NSArray;
|
|
10 import dstep.foundation.NSDictionary;
|
|
11 import dstep.foundation.NSError;
|
|
12 import dstep.foundation.NSSet;
|
|
13 import dstep.foundation.NSString;
|
|
14 import dstep.objc.bridge.Bridge;
|
|
15 import dstep.objc.objc : id;
|
|
16
|
|
17 import bindings = dstep.foundation.NSKeyValueCoding_bindings;
|
|
18
|
|
19 const NSString NSUndefinedKeyException;
|
|
20 const NSString NSAverageKeyValueOperator;
|
|
21 const NSString NSCountKeyValueOperator;
|
|
22 const NSString NSDistinctUnionOfArraysKeyValueOperator;
|
|
23 const NSString NSDistinctUnionOfObjectsKeyValueOperator;
|
|
24 const NSString NSDistinctUnionOfSetsKeyValueOperator;
|
|
25 const NSString NSMaximumKeyValueOperator;
|
|
26 const NSString NSMinimumKeyValueOperator;
|
|
27 const NSString NSSumKeyValueOperator;
|
|
28 const NSString NSUnionOfArraysKeyValueOperator;
|
|
29 const NSString NSUnionOfObjectsKeyValueOperator;
|
|
30 const NSString NSUnionOfSetsKeyValueOperator;
|
|
31
|
|
32 static this ()
|
|
33 {
|
|
34 NSUndefinedKeyException = new NSString(bindings.NSUndefinedKeyException);
|
|
35 NSAverageKeyValueOperator = new NSString(bindings.NSAverageKeyValueOperator);
|
|
36 NSCountKeyValueOperator = new NSString(bindings.NSCountKeyValueOperator);
|
|
37 NSDistinctUnionOfArraysKeyValueOperator = new NSString(bindings.NSDistinctUnionOfArraysKeyValueOperator);
|
|
38 NSDistinctUnionOfObjectsKeyValueOperator = new NSString(bindings.NSDistinctUnionOfObjectsKeyValueOperator);
|
|
39 NSDistinctUnionOfSetsKeyValueOperator = new NSString(bindings.NSDistinctUnionOfSetsKeyValueOperator);
|
|
40 NSMaximumKeyValueOperator = new NSString(bindings.NSMaximumKeyValueOperator);
|
|
41 NSMinimumKeyValueOperator = new NSString(bindings.NSMinimumKeyValueOperator);
|
|
42 NSSumKeyValueOperator = new NSString(bindings.NSSumKeyValueOperator);
|
|
43 NSUnionOfArraysKeyValueOperator = new NSString(bindings.NSUnionOfArraysKeyValueOperator);
|
|
44 NSUnionOfObjectsKeyValueOperator = new NSString(bindings.NSUnionOfObjectsKeyValueOperator);
|
|
45 NSUnionOfSetsKeyValueOperator = new NSString(bindings.NSUnionOfSetsKeyValueOperator);
|
|
46 }
|
|
47
|
|
48 template TNSDeprecatedKeyValueCoding ()
|
|
49 {
|
|
50 static bool useStoredAccessor ();
|
|
51 Object storedValueForKey (NSString key);
|
|
52 void takeStoredValue (Object value, NSString key);
|
|
53 void takeValue (Object value, NSString key);
|
|
54 void takeValue (Object value, NSString keyPath);
|
|
55 Object handleQueryWithUnboundKey (NSString key);
|
|
56 void handleTakeValue (Object value, NSString key);
|
|
57 void unableToSetNilForKey (NSString key);
|
|
58 NSDictionary valuesForKeys (NSArray keys);
|
|
59 void takeValuesFromDictionary (NSDictionary properties);
|
|
60 }
|
|
61
|
|
62 template TNSKeyValueCoding ()
|
|
63 {
|
|
64 static bool accessInstanceVariablesDirectly ();
|
|
65 Object valueForKey (NSString key);
|
|
66 void setValue (Object value, NSString key);
|
|
67 bool validateValue (id* ioValue, NSString inKey, NSError** outError);
|
|
68 NSMutableArray mutableArrayValueForKey (NSString key);
|
|
69 NSMutableSet mutableSetValueForKey (NSString key);
|
|
70 Object valueForKeyPath (NSString keyPath);
|
|
71 void setValue (Object value, NSString keyPath);
|
|
72 bool validateValue (id* ioValue, NSString inKeyPath, NSError** outError);
|
|
73 NSMutableArray mutableArrayValueForKeyPath (NSString keyPath);
|
|
74 NSMutableSet mutableSetValueForKeyPath (NSString keyPath);
|
|
75 Object valueForUndefinedKey (NSString key);
|
|
76 void setValue (Object value, NSString key);
|
|
77 void setNilValueForKey (NSString key);
|
|
78 NSDictionary dictionaryWithValuesForKeys (NSArray keys);
|
|
79 void setValuesForKeysWithDictionary (NSDictionary keyedValues);
|
|
80 }
|
|
81
|