44<Description >
55Cache UML Explorer vX.X.X/*build.replace:pkg.version*/
66Class contains methods that return structured classes/packages data.</Description >
7- <TimeChanged >63808,84964.699928 </TimeChanged >
7+ <TimeChanged >63830,81286.756889 </TimeChanged >
88<TimeCreated >63653,67019.989197</TimeCreated >
99
1010<Method name =" getAllNamespacesList" >
@@ -93,6 +93,7 @@ Return structured data about class.</Description>
9393 do oData.classes.%DispatchSetProperty(classDefinition.Name, oClass) // prevent from recursive setup
9494 set package = $LISTTOSTRING($LIST($LISTFROMSTRING(classDefinition.Name, "."), 1, *-1),".")
9595 set oProperties = ##class(%ZEN.proxyObject).%New()
96+ set oQueries = ##class(%ZEN.proxyObject).%New()
9697
9798 set oClass.NAMESPACE = $NAMESPACE
9899 set oClass.SYSTEM = classDefinition.System
@@ -109,57 +110,67 @@ Return structured data about class.</Description>
109110
110111 set oClass.properties = oProperties
111112 set count = classDefinition.Properties.Count()
113+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.PropertyDefinition")
112114 for i=1:1:count {
113115 set oProp = ##class(%ZEN.proxyObject).%New()
114116 set p = classDefinition.Properties.GetAt(i)
115117 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+ }
120122 if (..classExists(package _ "." _ p.Type)) {
121- set oProp.type = package _ "." _ p.Type
123+ set oProp.Type = package _ "." _ p.Type
122124 do ..fillClassData(oData, package _ "." _ p.Type)
123125 } elseif (..classExists(..extendClassFromType(p.Type))) {
124- set oProp.type = ..extendClassFromType(p.Type)
126+ set oProp.Type = ..extendClassFromType(p.Type)
125127 do ..fillClassData(oData, ..extendClassFromType(p.Type))
126128 } else {
127- set oProp.type = p.Type
129+ set oProp.Type = ..extendClassFromType( p.Type)
128130 }
129131 }
130132
131133 set oMethods = ##class(%ZEN.proxyObject).%New()
132134 set oClass.methods = oMethods
133135 set count = classDefinition.Methods.Count()
136+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.MethodDefinition")
134137 for i=1:1:count {
135138 set oMeth = ##class(%ZEN.proxyObject).%New()
136139 set met = classDefinition.Methods.GetAt(i)
137140 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+ }
151145 }
152146
153147 set oParameters = ##class(%ZEN.proxyObject).%New()
154148 set oClass.parameters = oParameters
155149 set count = classDefinition.Parameters.Count()
150+ set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.ParameterDefinition")
156151 for i=1:1:count {
157152 set oPar = ##class(%ZEN.proxyObject).%New()
158153 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+ }
160158 do oParameters.%DispatchSetProperty(p.Name, oPar)
161159 }
162160
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+
163174 do ..collectInheritance(oData, oClass.super)
164175
165176 quit oClass
0 commit comments