had to rename the packages to make them compliant with buckminster
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / description / DescriptionSourceSection.java
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionSourceSection.java
new file mode 100644 (file)
index 0000000..6eab9b7
--- /dev/null
@@ -0,0 +1,82 @@
+// $Id$
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy 
+* http://www.e-taxonomy.eu
+* 
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.ui.section.description;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+
+/**
+ * <p>DescriptionSourceSection class.</p>
+ *
+ * @author n.hoffmann
+ * @created Mar 18, 2010
+ * @version 1.0
+ */
+public class DescriptionSourceSection extends
+               AbstractEntityCollectionSection<DescriptionBase, IdentifiableSource>{
+       
+       /**
+        * <p>Constructor for DescriptionSourceSection.</p>
+        *
+        * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement} object.
+        * @param style a int.
+        */
+       public DescriptionSourceSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation,
+                       ICdmFormElement parentElement, int style) {
+               super(cdmFormFactory, conversation, parentElement, "Description Sources", style);
+       }
+
+       
+
+       /** {@inheritDoc} */
+       @Override
+       public void addElement(IdentifiableSource element) {
+               getEntity().addSource(element);
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public IdentifiableSource createNewElement() {
+               return IdentifiableSource.NewInstance();
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public Collection<IdentifiableSource> getCollection(DescriptionBase entity) {
+               return entity.getSources();
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public String getEmptyString() {
+               return "No description sources yet.";
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       protected String getTooltipString() {
+               return "Add a reference as source for this description";
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public void removeElement(IdentifiableSource element) {
+               getEntity().removeSource(element);
+       }
+}