Project

General

Profile

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

    
6
import java.util.Collection;
7

    
8
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
9
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
10
import eu.etaxonomy.cdm.model.common.IdentifiableSource;
11
import eu.etaxonomy.cdm.model.common.OriginalSourceType;
12
import eu.etaxonomy.cdm.model.media.Media;
13
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
14
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
15
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
16

    
17
/**
18
 * <p>SourceSection class.</p>
19
 *
20
 * @author n.hoffmann
21
 * @created Nov 17, 2009
22
 * @version 1.0
23
 */
24
public class SourceSection extends AbstractEntityCollectionSection<IIdentifiableEntity, IdentifiableSource> {
25

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

    
38
	/** {@inheritDoc} */
39
	@Override
40
	public IdentifiableSource createNewElement() {
41
	    IIdentifiableEntity entity = getEntity();
42
	    OriginalSourceType type;
43
	    if(entity instanceof Media) {
44
	        type = OriginalSourceType.PrimaryMediaSource;
45
        }
46
	    else{
47
	        //default
48
	        type = OriginalSourceType.PrimaryTaxonomicSource;
49
	    }
50
	    return IdentifiableSource.NewInstance(type);
51
	}
52

    
53
	/** {@inheritDoc} */
54
	@Override
55
	public Collection<IdentifiableSource> getCollection(
56
			IIdentifiableEntity entity) {
57
		return entity.getSources();
58
	}
59

    
60
	/** {@inheritDoc} */
61
	@Override
62
	public String getEmptyString() {
63
		return "No references yet.";
64
	}
65

    
66
	/** {@inheritDoc} */
67
	@Override
68
	protected String getTooltipString() {
69
		return "Create a new reference.";
70
	}
71

    
72
	/** {@inheritDoc} */
73
	@Override
74
	public void addElement(IdentifiableSource element) {
75
		getEntity().addSource(element);
76
	}
77

    
78
	/** {@inheritDoc} */
79
	@Override
80
	public void removeElement(IdentifiableSource element) {
81
		getEntity().removeSource(element);
82
	}
83

    
84
}
(17-17/19)