Community
Participate
Working Groups
The mechanism which we provide to extend our comp-system, realize and extends, don't provide the functionality a java developer would expect. The functionality of extends is error prone and could be replaced with the functionality of realize if Bug 464289 is fixed. In this case realize should be named extends and it should fulfill the functionality a Java developer reads extends (https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html) summary: -Inheritance of actions -Overriding of actions -Type hierarchy Removing extends and changing realize is a big incompatible change.
I agree: I'd recommend renaming "realizes --> extends" and remove the capabilities the current "extends" mechanism provides: therefore it'd be very useful to know if anyone is using this way of defining toolkit extensions. The current "extends" mechanism provides similar functionality as e.g. "Categories to add methods to Existing Classes" in Objective-C - see [1]. The current "realizes" mechanism is supposed to behave like a plain Java-"extends". Please feel free to vote / give feedback whether you'd be affected of such (incompatible) toolkit extension mechanism changes! [1] https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html
I am against removing one of them and also since the words they use are explaining what they are doing on CompSystem level(and also for compatibility reasons i do not want to change it). I have found out that both of them have their rights to exists. The extends is important if someone wants an action to be in our current list of actions for a component. This is very important if the application they want to test is using standard components, or just anonymous classes. The realizes is important if you want to write actions for a component we are not supporting, or you are needing the specific component because you have specific actions only for this component. Therefore i will close this as invalid.