- public Object getAdapter(Class adapter) {
- if (IPropertyPage.class.equals(adapter))
- return new StandardPropertyPage(getSite(),getPropertyContexts());
- if (IContentOutlinePage.class.equals(adapter)) {
- return createOutline();
+ public <T> T getAdapter(Class<T> adapter) {
+ if (adapter.isAssignableFrom(IPropertyPage.class))
+ return adapter.cast(new StandardPropertyPage(getSite(),getPropertyContexts()));
+ if (adapter.isAssignableFrom(ISelectionProvider.class))
+ return adapter.cast(selectionProvider);
+ if (adapter.isAssignableFrom(IContentOutlinePage.class)) {
+ return adapter.cast(createOutline());