4
4
<Description >
5
5
Cache UML Explorer vX.X.X/*build.replace:pkg.version*/
6
6
Class contains methods that return structured classes/packages data.</Description >
7
- <TimeChanged >63808,84964.699928 </TimeChanged >
7
+ <TimeChanged >63830,81286.756889 </TimeChanged >
8
8
<TimeCreated >63653,67019.989197</TimeCreated >
9
9
10
10
<Method name =" getAllNamespacesList" >
@@ -93,6 +93,7 @@ Return structured data about class.</Description>
93
93
do oData.classes.%DispatchSetProperty(classDefinition.Name, oClass) // prevent from recursive setup
94
94
set package = $LISTTOSTRING($LIST($LISTFROMSTRING(classDefinition.Name, "."), 1, *-1),".")
95
95
set oProperties = ##class(%ZEN.proxyObject).%New()
96
+ set oQueries = ##class(%ZEN.proxyObject).%New()
96
97
97
98
set oClass.NAMESPACE = $NAMESPACE
98
99
set oClass.SYSTEM = classDefinition.System
@@ -109,57 +110,67 @@ Return structured data about class.</Description>
109
110
110
111
set oClass.properties = oProperties
111
112
set count = classDefinition.Properties.Count()
113
+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.PropertyDefinition")
112
114
for i=1:1:count {
113
115
set oProp = ##class(%ZEN.proxyObject).%New()
114
116
set p = classDefinition.Properties.GetAt(i)
115
117
do oProperties.%DispatchSetProperty(p.Name, oProp)
116
- set oProp.private = p.Private
117
- set oProp.readOnly = p.ReadOnly
118
- set oProp.cardinality = p.Cardinality
119
- set oProp.inverse = p.Inverse
118
+ for j=1:1:props.Properties.Count() {
119
+ set pname = props.Properties.GetAt(j).Name
120
+ set:(pname '= "parent") $PROPERTY( oProp, pname) = $PROPERTY(p, pname)
121
+ }
120
122
if (..classExists(package _ "." _ p.Type)) {
121
- set oProp.type = package _ "." _ p.Type
123
+ set oProp.Type = package _ "." _ p.Type
122
124
do ..fillClassData(oData, package _ "." _ p.Type)
123
125
} elseif (..classExists(..extendClassFromType(p.Type))) {
124
- set oProp.type = ..extendClassFromType(p.Type)
126
+ set oProp.Type = ..extendClassFromType(p.Type)
125
127
do ..fillClassData(oData, ..extendClassFromType(p.Type))
126
128
} else {
127
- set oProp.type = p.Type
129
+ set oProp.Type = ..extendClassFromType( p.Type)
128
130
}
129
131
}
130
132
131
133
set oMethods = ##class(%ZEN.proxyObject).%New()
132
134
set oClass.methods = oMethods
133
135
set count = classDefinition.Methods.Count()
136
+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.MethodDefinition")
134
137
for i=1:1:count {
135
138
set oMeth = ##class(%ZEN.proxyObject).%New()
136
139
set met = classDefinition.Methods.GetAt(i)
137
140
do oMethods.%DispatchSetProperty(met.Name, oMeth)
138
- set oMeth.private = met.Private
139
- set oMeth.returns = met.ReturnType
140
- set oMeth.classMethod = met.ClassMethod
141
- set oMeth.clientMethod = met.ClientMethod
142
- set oMeth.final = met.Final
143
- set oMeth.abstract = met.Abstract
144
- set oMeth.language = met.Language
145
- set oMeth.notInheritable = met.NotInheritable
146
- set oMeth.serverOnly = met.ServerOnly
147
- set oMeth.sqlProc = met.SqlProc
148
- set oMeth.sqlName = met.SqlName
149
- set oMeth.webMethod = met.WebMethod
150
- set oMeth.zenMethod = met.ZenMethod
141
+ for j=1:1:props.Properties.Count() {
142
+ set pname = props.Properties.GetAt(j).Name
143
+ set:((pname '= "parent") && (pname '= "Implementation")) $PROPERTY(oMeth, pname) = $PROPERTY(met, pname)
144
+ }
151
145
}
152
146
153
147
set oParameters = ##class(%ZEN.proxyObject).%New()
154
148
set oClass.parameters = oParameters
155
149
set count = classDefinition.Parameters.Count()
150
+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.ParameterDefinition")
156
151
for i=1:1:count {
157
152
set oPar = ##class(%ZEN.proxyObject).%New()
158
153
set p = classDefinition.Parameters.GetAt(i)
159
- set oPar.type = p.Type
154
+ for j=1:1:props.Properties.Count() {
155
+ set pname = props.Properties.GetAt(j).Name
156
+ set:(pname '= "parent") $PROPERTY(oPar, pname) = $PROPERTY(p, pname)
157
+ }
160
158
do oParameters.%DispatchSetProperty(p.Name, oPar)
161
159
}
162
160
161
+ #dim q as %Dictionary.QueryDefinition
162
+ set oClass.queries = oQueries
163
+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.QueryDefinition")
164
+ for i=1:1:classDefinition.Queries.Count() {
165
+ set oProp = ##class(%ZEN.proxyObject).%New()
166
+ set q = classDefinition.Queries.GetAt(i)
167
+ for j=1:1:props.Properties.Count() {
168
+ set pname = props.Properties.GetAt(j).Name
169
+ set:(pname '= "parent") $PROPERTY(oProp, pname) = $PROPERTY(q, pname)
170
+ }
171
+ do oQueries.%DispatchSetProperty(q.Name, oProp)
172
+ }
173
+
163
174
do ..collectInheritance(oData, oClass.super)
164
175
165
176
quit oClass
0 commit comments