merging in latest changes from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / ExtensionSection.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section.supplemental;
5
6 import java.util.Collection;
7
8
9 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
10 import eu.etaxonomy.cdm.model.common.Extension;
11 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
12 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
14 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
15
16 /**
17 * <p>ExtensionSection class.</p>
18 *
19 * @author nho
20 * @version $Id: $
21 */
22 public class ExtensionSection extends AbstractEntityCollectionSection<IdentifiableEntity, Extension> {
23
24 /**
25 * <p>Constructor for ExtensionSection.</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 ExtensionSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
33 super(cdmFormFactory, conversation,parentElement, "Extensions", style);
34 }
35
36 /** {@inheritDoc} */
37 @Override
38 public Extension createNewElement() {
39 return Extension.NewInstance();
40 }
41
42 /** {@inheritDoc} */
43 @Override
44 public Collection<Extension> getCollection(IdentifiableEntity entity) {
45 return entity.getExtensions();
46 }
47
48 /** {@inheritDoc} */
49 @Override
50 public String getEmptyString() {
51 return "No extensions yet.";
52 }
53
54 /** {@inheritDoc} */
55 @Override
56 protected String getTooltipString() {
57 return "Create a new extension";
58 }
59
60
61 /** {@inheritDoc} */
62 @Override
63 public void addElement(Extension element) {
64 getEntity().addExtension(element);
65 }
66
67
68 /** {@inheritDoc} */
69 @Override
70 public void removeElement(Extension element) {
71 getEntity().removeExtension(element);
72 }
73
74 }