Metawidget User Guide and Reference Documentation
Total Page:16
File Type:pdf, Size:1020Kb
Metawidget User Guide and Reference Documentation Version 4.2 Richard Kennard Table of Contents Preface ....................................................................................................................................................... xi Supported Technologies ............................................................................................................................... xii 1. Introduction to Metawidget ......................................................................................................................... 1 1.1. Part 1 (Java version) - The First Metawidget Application ....................................................................... 1 1.1.1. The Object .......................................................................................................................... 1 1.1.2. The Interface ....................................................................................................................... 1 1.1.3. The Output ......................................................................................................................... 2 1.1.4. Ordering The Properties ........................................................................................................ 4 1.1.5. Inspectors ........................................................................................................................... 5 1.1.6. Combining Multiple Inspection Results .................................................................................... 7 1.1.7. Controlling The Layout ......................................................................................................... 8 1.1.8. Controlling Widget Creation ................................................................................................. 11 1.1.9. Configuring Metawidget Externally ....................................................................................... 15 1.2. Part 1 (JavaScript version) - The First Metawidget Application ............................................................. 16 1.2.1. The Object ........................................................................................................................ 16 1.2.2. The Interface ..................................................................................................................... 17 1.2.3. The Output ........................................................................................................................ 17 1.2.4. Inspectors .......................................................................................................................... 18 1.2.5. Combining Multiple Inspection Results .................................................................................. 19 1.2.6. Controlling The Layout ....................................................................................................... 19 1.2.7. Controlling Widget Creation ................................................................................................. 22 1.3. Part 2 - The Address Book Application ............................................................................................ 24 1.3.1. Desktop Address Book ........................................................................................................ 24 Read-Only Mode ................................................................................................................ 26 Binding ............................................................................................................................. 27 Localization ....................................................................................................................... 28 1.3.2. Web Address Book ............................................................................................................. 28 Mixing Metawidgets ............................................................................................................ 31 Expression Based Lookups ................................................................................................... 32 Alternate Widget Libraries (JSF 1.x) ...................................................................................... 32 Alternate Widget Libraries (JSF 2.x) ...................................................................................... 35 1.3.3. Mobile Address Book ......................................................................................................... 36 1.3.4. Conclusion ........................................................................................................................ 40 1.4. Part 3 - Other Examples ................................................................................................................ 40 1.4.1. Swing Applet Address Book Example .................................................................................... 40 1.4.2. Seam Example ................................................................................................................... 41 1.4.3. Groovy Example ................................................................................................................ 42 1.4.4. jBPM Example .................................................................................................................. 43 1.4.5. ICEfaces Example .............................................................................................................. 44 1.4.6. Java EE 6 Example ............................................................................................................ 45 1.4.7. Swing AppFramework Example ............................................................................................ 45 1.4.8. Scala Example ................................................................................................................... 46 1.4.9. GWT Client Side Example ................................................................................................... 48 1.4.10. GWT Hosted Mode Examples ............................................................................................. 49 1.4.11. Static Metawidget Example ................................................................................................ 51 2. Architecture ............................................................................................................................................ 52 Metawidget ii Metawidget User Guide and Reference Documentation 2.1. Metawidgets ................................................................................................................................. 53 2.1.1. Interface ........................................................................................................................... 53 2.1.2. Customizing Look and Feel .................................................................................................. 54 2.1.3. Overriding Widget Creation ................................................................................................. 54 2.1.4. Implementing Your Own Metawidget .................................................................................... 55 2.2. Inspectors .................................................................................................................................... 55 2.2.1. Interface ........................................................................................................................... 55 2.2.2. Usage ............................................................................................................................... 56 2.2.3. CompositeInspector ............................................................................................................. 56 2.2.4. Defaults ............................................................................................................................ 57 2.2.5. Immutability ...................................................................................................................... 59 2.2.6. inspection-result ................................................................................................................. 60 2.2.7. Implementing Your Own Inspector (Java) ............................................................................... 60 2.3. Inspection Result Processors ........................................................................................................... 64 2.3.1. Interface ........................................................................................................................... 64 2.3.2. Usage ............................................................................................................................... 65 2.3.3. Defaults ............................................................................................................................ 66 2.3.4. Immutability ...................................................................................................................... 67 2.3.5. Implementing Your Own InspectionResultProcessor ................................................................. 67 2.4. WidgetBuilders ............................................................................................................................. 70 2.4.1. Interface ........................................................................................................................... 70 2.4.2. Usage ..............................................................................................................................