--- /dev/null
+// $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);
+ }
+}