Project

General

Profile

Download (2.51 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 *
3
 */
4
package eu.etaxonomy.taxeditor.ui.section.supplemental;
5

    
6
import java.util.Collection;
7
import java.util.Comparator;
8

    
9
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
10
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
11
import eu.etaxonomy.cdm.model.common.Annotation;
12
import eu.etaxonomy.cdm.model.common.AnnotationType;
13
import eu.etaxonomy.cdm.model.common.Language;
14
import eu.etaxonomy.taxeditor.store.CdmStore;
15
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
16
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
17
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
18
import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
19

    
20
/**
21
 * <p>AnnotationSection class.</p>
22
 *
23
 * @author n.hoffmann
24
 * @created Nov 5, 2009
25
 */
26
public class AnnotationSection extends AbstractEntityCollectionSection<AnnotatableEntity, Annotation>{
27

    
28
	/**
29
	 * <p>Constructor for AnnotationSection.</p>
30
	 *
31
	 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
32
	 * @param style a int.
33
	 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
34
	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
35
	 */
36
	public AnnotationSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
37
		super(cdmFormFactory, conversation, parentElement, "Annotations", style);
38
	}
39

    
40
	@Override
41
	public Annotation createNewElement() {
42
		String text = "";
43
		AnnotationType type = AnnotationType.EDITORIAL();
44
		Language language = CdmStore.getDefaultLanguage();
45

    
46
		return Annotation.NewInstance(text, type, language);
47
	}
48

    
49
	@Override
50
	public Collection<Annotation> getCollection(AnnotatableEntity entity) {
51
		return entity.getAnnotations();
52
	}
53

    
54
	@Override
55
	public Comparator<Annotation> getComparator() {
56
        return new DefaultCdmBaseComparator<>();
57
	}
58

    
59
	@Override
60
	public String getEmptyString() {
61
		return "No annotations yet.";
62
	}
63

    
64
	@Override
65
	protected String getTooltipString() {
66
		return "Create a new annotation";
67
	}
68

    
69
	@Override
70
	public void addElement(Annotation element) {
71
		getEntity().addAnnotation(element);
72
	}
73

    
74
	@Override
75
	public void removeElement(Annotation element) {
76
		getEntity().removeAnnotation(element);
77
	}
78

    
79
    @Override
80
    public Annotation addExisting() {
81
        // TODO Auto-generated method stub
82
        return null;
83
    }
84

    
85
    @Override
86
    public boolean allowAddExisting() {
87
        // TODO Auto-generated method stub
88
        return false;
89
    }
90
}
(6-6/21)