Merged refactoring from development branch.
[taxeditor.git] / taxeditor-store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / MarkerSection.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.AnnotatableEntity;
11 import eu.etaxonomy.cdm.model.common.Marker;
12 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
14 import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
15
16 /**
17 * <p>MarkerSection class.</p>
18 *
19 * @author nho
20 * @version $Id: $
21 */
22 public class MarkerSection extends AbstractEntityCollectionSection<AnnotatableEntity, Marker> {
23
24 /**
25 * <p>Constructor for MarkerSection.</p>
26 *
27 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
28 * @param style a int.
29 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
30 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
31 */
32 public MarkerSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
33 super(cdmFormFactory, conversation, parentElement, "Marker", style);
34 }
35
36 /** {@inheritDoc} */
37 @Override
38 public Marker createNewElement() {
39 return Marker.NewInstance();
40 }
41
42 /** {@inheritDoc} */
43 @Override
44 public Collection<Marker> getCollection(AnnotatableEntity entity) {
45 return entity.getMarkers();
46 }
47
48 /** {@inheritDoc} */
49 @Override
50 public String getEmptyString() {
51 return "No markers yet.";
52 }
53
54 /** {@inheritDoc} */
55 @Override
56 protected String getTooltipString() {
57 return "Create a new marker";
58 }
59
60 /** {@inheritDoc} */
61 @Override
62 public void addElement(Marker element) {
63 getEntity().addMarker(element);
64 }
65
66 /** {@inheritDoc} */
67 @Override
68 public void removeElement(Marker element) {
69 getEntity().removeMarker(element);
70 }
71
72 }