If you remember, one constraint was to be able to read values of metadata and properties using the dot-notation.
In fact, everything we've done until now has been done only for the sake of this exercise and for you to write some haXe code.
Although this is important, let's move on to implementing access via the dot-notation.
To do that, we will make our class implement Dynamic<String> and implement a resolve method.
Before doing that, there's just one question that arises: how are we going to handle the situation if a key exists in the metadata Hash and in the properties Hash? In our example, we will handle this situation quite easily by simply returning the value that is in the metadata.
So, here is our Component class modified:
class Component implements Dynamic<String> { public var properties : Hash<String>; public var metadata : Hash<String>; public function new() { properties = new Hash<String>(); metadata = new Hash...