4 package eu
.etaxonomy
.taxeditor
.ui
.section
.supplemental
;
6 import java
.util
.Collection
;
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
.campanula
.compatibility
.ICdmFormElement
;
14 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
15 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractEntityCollectionSection
;
18 * <p>SourceSection class.</p>
21 * @created Nov 17, 2009
24 public class SourceSection
extends AbstractEntityCollectionSection
<IIdentifiableEntity
, IdentifiableSource
> {
27 * <p>Constructor for SourceSection.</p>
29 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
31 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
32 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
34 public SourceSection(CdmFormFactory cdmFormFactory
, ConversationHolder conversation
, ICdmFormElement parentElement
, int style
) {
35 super(cdmFormFactory
, conversation
, parentElement
, "Sources", style
);
40 public IdentifiableSource
createNewElement() {
41 IIdentifiableEntity entity
= getEntity();
42 OriginalSourceType type
;
43 if(entity
instanceof Media
) {
44 type
= OriginalSourceType
.PrimaryMediaSource
;
48 type
= OriginalSourceType
.PrimaryTaxonomicSource
;
50 return IdentifiableSource
.NewInstance(type
);
55 public Collection
<IdentifiableSource
> getCollection(
56 IIdentifiableEntity entity
) {
57 return entity
.getSources();
62 public String
getEmptyString() {
63 return "No references yet.";
68 protected String
getTooltipString() {
69 return "Create a new reference.";
74 public void addElement(IdentifiableSource element
) {
75 getEntity().addSource(element
);
80 public void removeElement(IdentifiableSource element
) {
81 getEntity().removeSource(element
);