implemented user management, fixes #803. Minor refactorings.
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / name / NameComposite.java
index acebf8c282df8f8a89c57a108fa4d221530e29e2..418fb3b53e2a204dac1b3b2aac27154fadee3c53 100644 (file)
@@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.editor.GroupedComposite;
 import eu.etaxonomy.taxeditor.editor.labels.ILabelImageStrategy;\r
 import eu.etaxonomy.taxeditor.editor.labels.LabelImageProvider;\r
 import eu.etaxonomy.taxeditor.model.ImageResources;\r
-import eu.etaxonomy.taxeditor.model.NameUtil;\r
+import eu.etaxonomy.taxeditor.model.NameHelper;\r
 import eu.etaxonomy.taxeditor.model.Resources;\r
 import eu.etaxonomy.taxeditor.operations.CreateSynonymInNewGroupOperation;\r
 import eu.etaxonomy.taxeditor.propertysheet.name.BotanicalNamePropertySource;\r
@@ -45,7 +45,7 @@ import eu.etaxonomy.taxeditor.propertysheet.name.ZoologicalNamePropertySource;
  * @created 02.06.2008\r
  * @version 1.0\r
  */\r
-public abstract class NameComposite extends GroupedComposite{\r
+public abstract class NameComposite<T extends TaxonBase> extends GroupedComposite{\r
 \r
        /**\r
         * ************ COMPOSITE TYPES ************\r
@@ -116,6 +116,7 @@ public abstract class NameComposite extends GroupedComposite{
        private boolean isUseParser = false;\r
 \r
        protected boolean isParsing;\r
+       private T taxonBase;\r
        \r
        /**\r
         * The constructor for a DescriptionElementComposite. Takes a parent Composite on which to\r
@@ -126,10 +127,11 @@ public abstract class NameComposite extends GroupedComposite{
         * @param parent\r
         * @param managedForm\r
         */\r
-       public NameComposite(AbstractTaxonEditor editor, Composite parent, \r
-                       String compositeType, TaxonBase<?> taxonBase) {\r
+       public NameComposite(AbstractTaxonEditor editor, Composite parent, T taxonBase) {\r
                super(editor, parent);\r
 \r
+               this.taxonBase = taxonBase;\r
+               \r
                createTextViewer();\r
                createBorderSupport();\r
                createLineWrapSupport();\r
@@ -139,10 +141,18 @@ public abstract class NameComposite extends GroupedComposite{
                \r
                setDraggableControl(textViewer.getRulerControl());\r
                \r
-               createParser();\r
                createEmptyViewerPrompt(EMPTY_NAME_PROMPT);\r
+               \r
+               initializeComposite();\r
+               createParser();\r
        }\r
        \r
+       /**\r
+        * Initialize the composite specific code\r
+        * \r
+        */\r
+       protected abstract void initializeComposite();\r
+       \r
        protected String getEmptyTextPrompt() {\r
                return EMPTY_NAME_PROMPT;\r
        }\r
@@ -177,7 +187,7 @@ public abstract class NameComposite extends GroupedComposite{
                                relatedName = nameRelation.getFromName();\r
                        }\r
                        \r
-                       setNonEditableInfo(typeLabel + " " + NameUtil.getDisplayName(relatedName));\r
+                       setNonEditableInfo(typeLabel + " " + NameHelper.getDisplayName(relatedName));\r
                }\r
        }\r
                \r
@@ -185,7 +195,7 @@ public abstract class NameComposite extends GroupedComposite{
                \r
                showNameRelations();\r
                \r
-               String text = NameUtil.getDisplayNameWithRef(taxonBase);\r
+               String text = NameHelper.getDisplayNameWithRef(taxonBase);\r
                \r
                if (text.length() == 0) {\r
                        initEmptyText();\r
@@ -275,7 +285,7 @@ public abstract class NameComposite extends GroupedComposite{
                \r
                showNameRelations();\r
                \r
-               String text = NameUtil.getDisplayNameWithRef((TaxonBase) getData());\r
+               String text = NameHelper.getDisplayNameWithRef((TaxonBase) getData());\r
                \r
                if (text.length() == 0) {\r
                        initEmptyText();\r
@@ -295,4 +305,11 @@ public abstract class NameComposite extends GroupedComposite{
                \r
                return false;\r
        }\r
+\r
+       /**\r
+        * @return the taxonBase\r
+        */\r
+       public T getTaxonBase() {\r
+               return taxonBase;\r
+       }\r
 }
\ No newline at end of file