How to get all properties defined in a class from %Dictionary.ClassDefinition?
I am looking for a way to find all properties defined in any given class through coding, including those inherited from parent class(s). In case of inherited properties, I would like to know from which class etc.
A related question: XML adaptor provides a way to export xml schema for a class. Is there a similar method for JSON adaptor to generate a JSON schema for a class?
Thanks in advance for your help.
Product version: IRIS 2021.1
I'm not aware of any JSON schema capability.
%Dictionary has two sets of classes: *Definition and Compiled*. If you want to see inherited members you need to look at Compiled* (e.g., CompiledClass / CompiledProperty). If you want to know from which class, there's an "Origin" property.
Thanks Timothy for the quick response. One thing I have not figured out is: regardless ClassDefinition or CompiledClass, their .Properties returns a relationshipObject. How do I get the set/array of PropertyDefinition associated with the class? Thanks.
I'd run a query against %Dictionary.CompiledProperty where parent = (the classname)
Thank you Timothy!
Just had time to do a more detailed writeup here: https://community.intersystems.com/post/listing-all-properties-class-and...