-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-package eu.etaxonomy.taxeditor.annotatedlineeditor;\r
-\r
-import java.util.Set;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.jface.text.source.Annotation;\r
-\r
-/**\r
- * An <code>Annotation</code> which spans an entire line and holds an object associated\r
- * with the line in an <code>IEntityContainer</code>. \r
- * \r
- * @author p.ciardelli\r
- * @created 25.06.2009\r
- * @version 1.0\r
- */\r
-public class LineAnnotation<T> extends Annotation implements IEntityContainer<T> {\r
- @SuppressWarnings("unused")\r
- private static final Logger logger = Logger\r
- .getLogger(LineAnnotationModel.class);\r
-\r
- public static final String TYPE_GENERIC = Annotation.TYPE_UNKNOWN;\r
- \r
- private T entity;\r
- private ILineDisplayStrategy lineDisplayStrategy;\r
-\r
- private boolean dirty = false;\r
- private boolean markedAsMerged;\r
- private boolean markedAsNew;\r
- private T mergeTarget;\r
-\r
- \r
- public LineAnnotation(T entity, ILineDisplayStrategy lineDisplayStrategy) {\r
- this.entity = entity;\r
- this.lineDisplayStrategy = lineDisplayStrategy;\r
- setType(TYPE_GENERIC);\r
- }\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.text.source.Annotation#getText()\r
- */\r
- @Override\r
- public String getText() {\r
- return getEditableText();\r
- }\r
- \r
- /* (non-Javadoc)\r
- * @see org.eclipse.jface.text.source.Annotation#setText(java.lang.String)\r
- */\r
- @Override\r
- public void setText(String text) {\r
- lineDisplayStrategy.setText(text, entity);\r
- dirty = true; \r
- super.setText(text);\r
- }\r
- \r
- @Override\r
- public String toString() {\r
- // For debugging\r
- return getText();\r
- }\r
- \r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getAttachedEntities()\r
- */\r
- public Set getAttachedEntities() {\r
- // TODO Auto-generated method stub\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getEntity()\r
- */\r
- public T getEntity() {\r
- return entity;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getEditableText()\r
- */\r
- public String getEditableText() {\r
- return lineDisplayStrategy.getText(entity);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getMergeTarget()\r
- */\r
- public T getMergeTarget() {\r
- return mergeTarget;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsDeleted()\r
- */\r
- public boolean isMarkedAsDeleted() {\r
- return super.isMarkedDeleted();\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsMerged()\r
- */\r
- public boolean isMarkedAsMerged() {\r
- return markedAsMerged;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsNew()\r
- */\r
- public boolean isMarkedAsNew() {\r
- return markedAsNew;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsDeleted()\r
- */\r
- public void markAsDeleted() {\r
- super.markDeleted(true);\r
- if (!isMarkedAsMerged()) {\r
- lineDisplayStrategy.setStatusMessage(entity + " deleted.", entity);\r
- }\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsMerged(eu.etaxonomy.cdm.model.common.CdmBase)\r
- */\r
- public void markAsMerged(T mergeTarget) {\r
- this.mergeTarget = mergeTarget;\r
- markedAsMerged = true;\r
- lineDisplayStrategy.setStatusMessage("'" + entity + "' merged into '" + mergeTarget + "'.", entity);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsNew()\r
- */\r
- public void markAsNew(boolean isNew) {\r
- markedAsNew = isNew;\r
- lineDisplayStrategy.setStatusMessage("New entity created.", entity);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#setDirty(boolean)\r
- */\r
- public void setDirty(boolean dirty) {\r
- this.dirty = dirty;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isDirty()\r
- */\r
- public boolean isDirty() {\r
- return dirty;\r
- }\r
-\r
- /**\r
- * @return\r
- */\r
- public String getHoverText() {\r
- return lineDisplayStrategy.getHoverText(entity);\r
- }\r
-}
\ No newline at end of file
+// $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.annotatedlineeditor;
+
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.eclipse.jface.text.source.Annotation;
+
+/**
+ * An <code>Annotation</code> which spans an entire line and holds an object associated
+ * with the line in an <code>IEntityContainer</code>.
+ *
+ * @author p.ciardelli
+ * @created 25.06.2009
+ * @version 1.0
+ */
+public class LineAnnotation<T> extends Annotation implements IEntityContainer<T> {
+ @SuppressWarnings("unused")
+ private static final Logger logger = Logger
+ .getLogger(LineAnnotationModel.class);
+
+ /** Constant <code>TYPE_GENERIC="Annotation.TYPE_UNKNOWN"</code> */
+ public static final String TYPE_GENERIC = Annotation.TYPE_UNKNOWN;
+
+ private T entity;
+ private ILineDisplayStrategy lineDisplayStrategy;
+
+ private boolean dirty = false;
+ private boolean markedAsMerged;
+ private boolean markedAsNew;
+ private T mergeTarget;
+
+
+ /**
+ * <p>Constructor for LineAnnotation.</p>
+ *
+ * @param entity a T object.
+ * @param lineDisplayStrategy a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy} object.
+ * @param <T> a T object.
+ */
+ public LineAnnotation(T entity, ILineDisplayStrategy lineDisplayStrategy) {
+ this.entity = entity;
+ this.lineDisplayStrategy = lineDisplayStrategy;
+ setType(TYPE_GENERIC);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.source.Annotation#getText()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public String getText() {
+ return getEditableText();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.text.source.Annotation#setText(java.lang.String)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void setText(String text) {
+ lineDisplayStrategy.setText(text, entity);
+ dirty = true;
+ super.setText(text);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public String toString() {
+ // For debugging
+ return getText();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getAttachedEntities()
+ */
+ /**
+ * <p>getAttachedEntities</p>
+ *
+ * @return a {@link java.util.Set} object.
+ */
+ public Set getAttachedEntities() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getEntity()
+ */
+ /**
+ * <p>Getter for the field <code>entity</code>.</p>
+ *
+ * @return a T object.
+ */
+ public T getEntity() {
+ return entity;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getEditableText()
+ */
+ /**
+ * <p>getEditableText</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ public String getEditableText() {
+ return lineDisplayStrategy.getText(entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getMergeTarget()
+ */
+ /**
+ * <p>Getter for the field <code>mergeTarget</code>.</p>
+ *
+ * @return a T object.
+ */
+ public T getMergeTarget() {
+ return mergeTarget;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsDeleted()
+ */
+ /**
+ * <p>isMarkedAsDeleted</p>
+ *
+ * @return a boolean.
+ */
+ public boolean isMarkedAsDeleted() {
+ return super.isMarkedDeleted();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsMerged()
+ */
+ /**
+ * <p>isMarkedAsMerged</p>
+ *
+ * @return a boolean.
+ */
+ public boolean isMarkedAsMerged() {
+ return markedAsMerged;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isMarkedAsNew()
+ */
+ /**
+ * <p>isMarkedAsNew</p>
+ *
+ * @return a boolean.
+ */
+ public boolean isMarkedAsNew() {
+ return markedAsNew;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsDeleted()
+ */
+ /**
+ * <p>markAsDeleted</p>
+ */
+ public void markAsDeleted() {
+ super.markDeleted(true);
+ if (!isMarkedAsMerged()) {
+ lineDisplayStrategy.setStatusMessage(entity + " deleted.", entity);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsMerged(eu.etaxonomy.cdm.model.common.CdmBase)
+ */
+ /**
+ * <p>markAsMerged</p>
+ *
+ * @param mergeTarget a T object.
+ */
+ public void markAsMerged(T mergeTarget) {
+ this.mergeTarget = mergeTarget;
+ markedAsMerged = true;
+ lineDisplayStrategy.setStatusMessage("'" + entity + "' merged into '" + mergeTarget + "'.", entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsNew()
+ */
+ /** {@inheritDoc} */
+ public void markAsNew(boolean isNew) {
+ markedAsNew = isNew;
+ lineDisplayStrategy.setStatusMessage("New entity created.", entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#setDirty(boolean)
+ */
+ /** {@inheritDoc} */
+ public void setDirty(boolean dirty) {
+ this.dirty = dirty;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#isDirty()
+ */
+ /**
+ * <p>isDirty</p>
+ *
+ * @return a boolean.
+ */
+ public boolean isDirty() {
+ return dirty;
+ }
+
+ /**
+ * <p>getHoverText</p>
+ *
+ * @return a {@link java.lang.String} object.
+ */
+ public String getHoverText() {
+ return lineDisplayStrategy.getHoverText(entity);
+ }
+}