I just talked briefly with Felix about this, and we both had another possible solution:
We add a static field as a hook to the synthetic resource class. If the adapter bundle is available it sets this static field (and clears it if the bundle is stopped/uninstalled). The synthetic resource implementation checks this field - if not set it returns null in adaptTo(). If set this field points to the "something" which invokes the AdapterManager and properly handles the adaptTo like it does for SlingAdaptables. So basically we don't have to change that much, the api stays just api and as soon as the adapter bundle is running, synthetic resources are really adaptable ootb. WDYT? Carsten -- Carsten Ziegeler [email protected]
