comparison dwt/internal/cocoa/NSExpression.d @ 0:380af2bdd8e5

Upload of whole dwt tree
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Sat, 09 Aug 2008 17:00:02 +0200
parents
children 8b48be5454ce
comparison
equal deleted inserted replaced
-1:000000000000 0:380af2bdd8e5
1 /*******************************************************************************
2 * Copyright (c) 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 *
11 * Port to the D Programming language:
12 * Jacob Carlborg <jacob.carlborg@gmail.com>
13 *******************************************************************************/
14 module dwt.internal.cocoa.NSExpression;
15
16 import dwt.internal.cocoa.NSArray;
17 import dwt.internal.cocoa.NSMutableDictionary;
18 import dwt.internal.cocoa.NSObject;
19 import dwt.internal.cocoa.NSPredicate;
20 import dwt.internal.cocoa.NSString;
21 import dwt.internal.cocoa.OS;
22 import objc = dwt.internal.objc.runtime;
23
24 enum NSExpressionType
25 {
26 NSConstantValueExpressionType = 0,
27 NSEvaluatedObjectExpressionType,
28 NSVariableExpressionType,
29 NSKeyPathExpressionType,
30 NSFunctionExpressionType,
31 NSAggregateExpressionType,
32 NSSubqueryExpressionType,
33 NSUnionSetExpressionType,
34 NSIntersectSetExpressionType,
35 NSMinusSetExpressionType
36 }
37
38 public class NSExpression : NSObject
39 {
40
41 public this ()
42 {
43 super();
44 }
45
46 public this (objc.id id)
47 {
48 super(id);
49 }
50
51 public NSArray arguments ()
52 {
53 objc.id result = OS.objc_msgSend(this.id, OS.sel_arguments);
54 return result !is null ? new NSArray(result) : null;
55 }
56
57 public id collection ()
58 {
59 objc.id result = OS.objc_msgSend(this.id, OS.sel_collection);
60 return result !is null ? new id(result) : null;
61 }
62
63 public id constantValue ()
64 {
65 objc.id result = OS.objc_msgSend(this.id, OS.sel_constantValue);
66 return result !is null ? new id(result) : null;
67 }
68
69 public static NSExpression expressionForAggregate (NSArray subexpressions)
70 {
71 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForAggregate_1, subexpressions !is null ? subexpressions.id : null);
72 return result !is null ? new NSExpression(result) : null;
73 }
74
75 public static NSExpression expressionForConstantValue (id obj)
76 {
77 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForConstantValue_1, obj !is null ? obj.id : null);
78 return result !is null ? new NSExpression(result) : null;
79 }
80
81 public static NSExpression expressionForEvaluatedObject ()
82 {
83 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForEvaluatedObject);
84 return result !is null ? new NSExpression(result) : null;
85 }
86
87 public static NSExpression static_expressionForFunction_arguments_ (NSString name, NSArray parameters)
88 {
89 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForFunction_1arguments_1, name !is null ? name.id : null,
90 parameters !is null ? parameters.id : null);
91 return result !is null ? new NSExpression(result) : null;
92 }
93
94 public static NSExpression static_expressionForFunction_selectorName_arguments_ (NSExpression target, NSString name, NSArray parameters)
95 {
96 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForFunction_1selectorName_1arguments_1,
97 target !is null ? target.id : null, name !is null ? name.id : null, parameters !is null ? parameters.id : null);
98 return result !is null ? new NSExpression(result) : null;
99 }
100
101 public static NSExpression expressionForIntersectSet (NSExpression left, NSExpression right)
102 {
103 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForIntersectSet_1with_1, left !is null ? left.id : null,
104 right !is null ? right.id : null);
105 return result !is null ? new NSExpression(result) : null;
106 }
107
108 public static NSExpression expressionForKeyPath (NSString keyPath)
109 {
110 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForKeyPath_1, keyPath !is null ? keyPath.id : null);
111 return result !is null ? new NSExpression(result) : null;
112 }
113
114 public static NSExpression expressionForMinusSet (NSExpression left, NSExpression right)
115 {
116 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForMinusSet_1with_1, left !is null ? left.id : null,
117 right !is null ? right.id : null);
118 return result !is null ? new NSExpression(result) : null;
119 }
120
121 public static NSExpression expressionForSubquery (NSExpression expression, NSString variable, id predicate)
122 {
123 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForSubquery_1usingIteratorVariable_1predicate_1,
124 expression !is null ? expression.id : null, variable !is null ? variable.id : null, predicate !is null ? predicate.id : null);
125 return result !is null ? new NSExpression(result) : null;
126 }
127
128 public static NSExpression expressionForUnionSet (NSExpression left, NSExpression right)
129 {
130 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForUnionSet_1with_1, left !is null ? left.id : null,
131 right !is null ? right.id : null);
132 return result !is null ? new NSExpression(result) : null;
133 }
134
135 public static NSExpression expressionForVariable (NSString string)
136 {
137 objc.id result = OS.objc_msgSend(OS.class_NSExpression, OS.sel_expressionForVariable_1, string !is null ? string.id : null);
138 return result !is null ? new NSExpression(result) : null;
139 }
140
141 public NSExpressionType expressionType ()
142 {
143 return OS.objc_msgSend(this.id, OS.sel_expressionType);
144 }
145
146 public id expressionValueWithObject (id object, NSMutableDictionary context)
147 {
148 objc.id result = OS.objc_msgSend(this.id, OS.sel_expressionValueWithObject_1context_1, object !is null ? object.id : null,
149 context !is null ? context.id : null);
150 return result !is null ? new id(result) : null;
151 }
152
153 public NSString functionn ()
154 {
155 objc.id result = OS.objc_msgSend(this.id, OS.sel_function);
156 return result !is null ? new NSString(result) : null;
157 }
158
159 public id initWithExpressionType (NSExpressionType type)
160 {
161 objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithExpressionType_1, type);
162 return result !is null ? new id(result) : null;
163 }
164
165 public NSString keyPath ()
166 {
167 objc.id result = OS.objc_msgSend(this.id, OS.sel_keyPath);
168 return result !is null ? new NSString(result) : null;
169 }
170
171 public NSExpression leftExpression ()
172 {
173 objc.id result = OS.objc_msgSend(this.id, OS.sel_leftExpression);
174 return result is this.id ? this : (result !is null ? new NSExpression(result) : null);
175 }
176
177 public NSExpression operand ()
178 {
179 objc.id result = OS.objc_msgSend(this.id, OS.sel_operand);
180 return result is this.id ? this : (result !is null ? new NSExpression(result) : null);
181 }
182
183 public NSPredicate predicate ()
184 {
185 objc.id result = OS.objc_msgSend(this.id, OS.sel_predicate);
186 return result !is null ? new NSPredicate(result) : null;
187 }
188
189 public NSExpression rightExpression ()
190 {
191 objc.id result = OS.objc_msgSend(this.id, OS.sel_rightExpression);
192 return result is this.id ? this : (result !is null ? new NSExpression(result) : null);
193 }
194
195 public NSString variable ()
196 {
197 objc.id result = OS.objc_msgSend(this.id, OS.sel_variable);
198 return result !is null ? new NSString(result) : null;
199 }
200
201 }