Throughout the core API there are places where data is stored into an untyped stdClass
object. This makes knowing what data is available somewhat difficult as it means tracing the object source plus in many cases this results in some sort of post processing on a data set (i.e. automatically converting a JSON parameters string into a Registry
object).
We should create value objects similar to JMenuItem
or JCategoryNode
which allow the properties for objects to be typed. This also could allow us to implement lazy loading behaviors in front of some data, like the before mentioned conversion to Registry
objects.
A good starting place for this would be the J<extension_type>Helper
classes and their loaders which read out of the database and dump the results into stdClass
objects with parameter conversion in some cases. Modules would be another strong candidate IMO.