Implementing a generic Fragment is done by creating a class that implements the interface java.lang.proxy.InvocationHandler. This has a single "invoke" method which is passed the object that was invoked (the Composite in this case), the method, and the arguments. The Fragment is then allowed to implement the method any way it wants.
Since interfaces with only Properties is such a common case Qi4j already has a generic Mixin that implements the Properties management described above. The class is aptly named PropertyMixin.
While we could use it, for now we will implement it ourselves to get a feel for how generic Mixins work.
Steps for this tutorial:
If you have successfully completed the task, you should end up with the following artifacts;
GenericPropertyMixin.java
HelloWorldBehaviour.java
HelloWorldBehaviourMixin.java
HelloWorldComposite.java
HelloWorldState.java