| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| |
| <head> |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| <LINK REL="STYLESHEET" HREF="../../book.css" TYPE="text/css"> |
| <title>DeveloperResourceAdapter Class After Editing</title> |
| </head> |
| |
| <body> |
| <h1>DeveloperResourceAdapter Class After Editing</h1> |
| <pre><samp> |
| package samples.model; |
| |
| import org.eclipse.jface.resource.ImageDescriptor; |
| import org.eclipse.jface.viewers.IStructuredSelection; |
| import org.eclipse.rse.ui.SystemMenuManager; |
| import org.eclipse.rse.ui.view.AbstractSystemViewAdapter; |
| import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; |
| import org.eclipse.swt.widgets.Shell; |
| <strong>import org.eclipse.ui.views.properties.IPropertyDescriptor;</strong> |
| <strong>import org.eclipse.ui.views.properties.PropertyDescriptor;</strong> |
| |
| <strong>import samples.RSESamplesPlugin;</strong> |
| |
| /** |
| * This is the adapter which enables us to work with our remote developer resources. |
| */ |
| public class DeveloperResourceAdapter extends AbstractSystemViewAdapter |
| implements ISystemRemoteElementAdapter |
| { |
| |
| /** |
| * Constructor |
| */ |
| public DeveloperResourceAdapter() { |
| super(); |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#addActions(org.eclipse.rse.ui.SystemMenuManager, |
| * org.eclipse.jface.viewers.IStructuredSelection, org.eclipse.swt.widgets.Shell, java.lang.String) |
| */ |
| public void addActions(SystemMenuManager menu, |
| IStructuredSelection selection, Shell parent, String menuGroup) |
| { |
| } |
| |
| /** |
| * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(Object) |
| */ |
| public ImageDescriptor getImageDescriptor(Object object) |
| { |
| <strong>return RSESamplesPlugin.getDefault().getImageDescriptor("ICON_ID_DEVELOPER");</strong> |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getText(java.lang.Object) |
| */ |
| public String getText(Object element) |
| { |
| <strong>return ((DeveloperResource)element).getName();</strong> |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getAbsoluteName(java.lang.Object) |
| */ |
| public String getAbsoluteName(Object object) |
| { |
| <strong>DeveloperResource devr = (DeveloperResource)object;</strong> |
| r<strong>eturn "Devr_" + devr.getId();</strong> |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#getType(java.lang.Object) |
| */ |
| public String getType(Object element) |
| { |
| <strong>return RSESamplesPlugin.getResourceString("property.devr_resource.type");</strong> |
| } |
| |
| /** |
| * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(Object) |
| */ |
| public Object getParent(Object o) |
| { |
| return null; // not really used, which is good because it is ambiguous |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#hasChildren(java.lang.Object) |
| */ |
| public boolean hasChildren(Object element) |
| { |
| return false; |
| } |
| |
| /** |
| * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(Object) |
| */ |
| public Object[] getChildren(Object o) |
| { |
| return null; |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyDescriptors() |
| */ |
| protected IPropertyDescriptor[] internalGetPropertyDescriptors() |
| { |
| // the following array should be made static to it isn't created every time |
| <strong>PropertyDescriptor[] ourPDs = new PropertyDescriptor[2];</strong> |
| <strong>ourPDs[0] = new PropertyDescriptor("devr_id", RSESamplesPlugin.getResourceString("property.devr_id.name"));</strong> |
| <strong>ourPDs[0].setDescription(RSESamplesPlugin.getResourceString("property.devr_id.desc"));</strong> |
| <strong>ourPDs[1] = new PropertyDescriptor("devr_dept", RSESamplesPlugin.getResourceString("property.devr_dept.name"));</strong> |
| <strong>ourPDs[1].setDescription(RSESamplesPlugin.getResourceString("property.devr_dept.desc"));</strong> |
| <strong>return ourPDs;</strong> |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.AbstractSystemViewAdapter#internalGetPropertyValue(java.lang.Object) |
| */ |
| protected Object internalGetPropertyValue(Object key) |
| { |
| // propertySourceInput holds the currently selected object |
| <strong>DeveloperResource devr = (DeveloperResource)propertySourceInput; |
| if (key.equals("devr_id")) |
| return devr.getId(); |
| else if (key.equals("devr_dept")) |
| return devr.getDeptNbr(); |
| return null;</strong> |
| } |
| // -------------------------------------- |
| // ISystemRemoteElementAdapter methods... |
| // -------------------------------------- |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getAbsoluteParentName(java.lang.Object) |
| */ |
| public String getAbsoluteParentName(Object element) |
| { |
| <strong>return "root";</strong> // not really applicable as we have no unique hierarchy |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getSubSystemConfigurationId(java.lang.Object) |
| */ |
| public String getSubSystemConfigurationId(Object element) |
| { |
| <strong>return "samples.subsystems.factory";</strong> // as declared in extension in plugin.xml |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteTypeCategory(java.lang.Object) |
| */ |
| public String getRemoteTypeCategory(Object element) |
| { |
| <strong>return "developers";</strong> // Course grained. Same for all our remote resources. |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteType(java.lang.Object) |
| */ |
| public String getRemoteType(Object element) |
| { |
| <strong>return "developer";</strong> // Fine grained. Unique to this resource type. |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteSubType(java.lang.Object) |
| */ |
| public String getRemoteSubType(Object element) |
| { |
| return null; // Very fine grained. We don't use it. |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#refreshRemoteObject(java.lang.Object, java.lang.Object) |
| */ |
| public boolean refreshRemoteObject(Object oldElement, Object newElement) |
| { |
| <strong>DeveloperResource oldDevr= (DeveloperResource)oldElement; |
| DeveloperResource newDevr = (DeveloperResource)newElement; |
| newDevr.setName(oldDevr.getName()); |
| return false;</strong> |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParent(org.eclipse.swt.widgets.Shell, java.lang.Object) |
| */ |
| public Object getRemoteParent(Shell shell, Object element) throws Exception |
| { |
| return null; // maybe this would be a Department obj, if we fully fleshed out our model |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.rse.ui.view.ISystemRemoteElementAdapter#getRemoteParentNamesInUse(org.eclipse.swt.widgets.Shell, java.lang.Object) |
| */ |
| public String[] getRemoteParentNamesInUse(Shell shell, Object element) |
| throws Exception |
| { |
| // developers names do not have to be unique! So we don't need to implement this! |
| return null; |
| |
| } |
| |
| } |
| </samp></pre> |
| </body> |
| </html> |