Attached is the source code for creating a table viewer with editing, sorting, and filtering support. The code uses the property source of an EMF reference object to create the viewer dynamically. This allows the table to be created using attributes of the model object and the editing properties of the property sheet. The only thing that must be explicitly implemented is the comparator/comparable interface of each reference object.
Caveat 1: The order of the columns in the table is based off the order of the model object attributes (Assuming the attributes are set to editable or read-only).
Note 1: This class has not been tested for stateful item providers.
Note 2: The long series of subclass overrides used to instantiate the property source provider member is basically a convoluted way to attach custom cell editors to properties.