fixed a bug where implementation of equals method yielded a CCE when no editor was...
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / model / NameEditorInput.java
1 package eu.etaxonomy.taxeditor.model;
2
3 import org.apache.log4j.Logger;
4 import org.eclipse.jface.resource.ImageDescriptor;
5 import org.eclipse.ui.IEditorInput;
6 import org.eclipse.ui.IPersistableElement;
7
8 import eu.etaxonomy.cdm.model.name.NonViralName;
9 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
10 import eu.etaxonomy.cdm.model.taxon.Taxon;
11
12 /**
13 * @author p.ciardelli
14 *
15 */
16 public class NameEditorInput implements IEditorInput {
17
18 private static final Logger logger = Logger.getLogger(NameEditorInput.class);
19
20 private Taxon taxon;
21
22 public NameEditorInput (Taxon taxon) {
23 this.taxon = taxon;
24 }
25
26 public boolean exists() {
27 // TODO Auto-generated method stub
28 return false;
29 }
30
31 public ImageDescriptor getImageDescriptor() {
32 // TODO Auto-generated method stub
33 return null;
34 }
35
36 public String getName() {
37 TaxonNameBase name = taxon.getName();
38 if (name == null || name.getTitleCache() == null) {
39 return "New taxon";
40 } else {
41 return name.getTitleCache();
42 }
43 }
44
45 public IPersistableElement getPersistable() {
46 // TODO Auto-generated method stub
47 return null;
48 }
49
50 public String getToolTipText() {
51 return getName();
52 }
53
54 public Object getAdapter(Class adapter) {
55
56 if (adapter == Taxon.class) {
57 return taxon;
58 }
59
60 return null;
61 }
62
63 /**
64 * Overrides equals to ensure that a taxon can only be edited by
65 * one editor at a time.
66 *
67 * @return boolean
68 */
69 public boolean equals(Object obj) {
70 if (obj.getClass().equals(NameEditorInput.class)
71 && taxon.equals(((NameEditorInput) obj).taxon))
72 return true;
73 return false;
74 }
75 }