merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / CreditSection.java
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.Credit;
10 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
11 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
12 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
14
15 /**
16 * <p>CreditSection class.</p>
17 *
18 * @author n.hoffmann
19 * @created Nov 16, 2009
20 * @version 1.0
21 */
22 public class CreditSection extends AbstractEntityCollectionSection<IdentifiableEntity, Credit> {
23
24 /**
25 * <p>Constructor for CreditSection.</p>
26 *
27 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
28 * @param style a int.
29 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
30 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
31 */
32 public CreditSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
33 super(cdmFormFactory, conversation, parentElement, "Credits", style);
34 }
35
36 /** {@inheritDoc} */
37 @Override
38 public Credit createNewElement() {
39 return Credit.NewInstance(null, null);
40 }
41
42 /** {@inheritDoc} */
43 @Override
44 public Collection<Credit> getCollection(IdentifiableEntity entity) {
45 return entity.getCredits();
46 }
47
48 /** {@inheritDoc} */
49 @Override
50 public String getEmptyString() {
51 return "No credits yet.";
52 }
53
54 /** {@inheritDoc} */
55 @Override
56 protected String getTooltipString() {
57 return "Create a new credit entry";
58 }
59
60 /** {@inheritDoc} */
61 @Override
62 public void addElement(Credit element) {
63 getEntity().addCredit(element);
64 }
65
66 /** {@inheritDoc} */
67 @Override
68 public void removeElement(Credit element) {
69 getEntity().removeCredit(element);
70 }
71
72 }