I don’t think we have any example code for using the extensible binding system, let me see if I can help you along a bit.
First of all, you should implement this in part of your module that gets packaged up for scope “CD”(Client + Designer) scope.
The root of it all will be your implementation of [tt]BindingType[/tt]. This class will both describe your binding function to the designer so that it can be configured, and will execute the binding when needed in the client.
The Javadocs on that class are fairly complete, so I won’t go over each function in detail.
There are the three functions that provide resource keys that will be used to identify describe the function. The title and category must be keys that exist in a .properties file that you’ve loaded during your module’s startup function. (see [tt]BundleUtil[/tt])
The [tt]getParameters()[/tt] function is the key to setting up the parameters for binding. This function returns a list of [tt]BindingParameter[/tt] instances, which describe each parameter your function expects to receive upon execute. There are a number of functions on this interface that help describe the parameter, its type, and ways to select values (freeform value, choice list, tree browser, etc).
And of course the most important part of a [tt]BindingType[/tt] is the [tt]execute[/tt] function, which is what actually needs to calculate the Dataset that you’d like to return.
Hopefully this gets you guys started.