performed javacscript:fix and worked on documentation
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / forms / CdmFormFactory.java
index 629a97b674138d5bad974be819126b49498ec468..1b32a036b9b550b3d90447f2485042b631685b5c 100644 (file)
@@ -264,7 +264,8 @@ import eu.etaxonomy.taxeditor.section.taxon.TaxonBaseDetailElement;
 import eu.etaxonomy.taxeditor.section.taxon.TaxonBaseDetailSection;
 
 /**
- * 
+ * <p>CdmFormFactory class.</p>
+ *
  * @author n.hoffmann
  * @created Feb 24, 2010
  * @version 1.0
@@ -283,18 +284,20 @@ public class CdmFormFactory extends FormToolkit{
        private ISelectionProvider selectionProvider;
        
        /**
-        * 
-        * @return
+        * <p>LAYOUT</p>
+        *
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
         */
        public static final TableWrapLayout LAYOUT(){
                return LAYOUT(1, false);
        }
        
        /**
-        * 
-        * @param columns
-        * @param equalWidth
-        * @return
+        * <p>LAYOUT</p>
+        *
+        * @param columns a int.
+        * @param equalWidth a boolean.
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapLayout} object.
         */
        public static final TableWrapLayout LAYOUT(int columns, boolean equalWidth){
                TableWrapLayout layout = new TableWrapLayout();
@@ -309,13 +312,21 @@ public class CdmFormFactory extends FormToolkit{
                return layout;
        }
        
+       /**
+        * <p>FILL</p>
+        *
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
+        */
        public static final TableWrapData FILL(){
                return FILL(1, 1);
        }
        
        /**
-        * 
-        * @return
+        * <p>FILL</p>
+        *
+        * @param horizontalSpan a int.
+        * @param verticalSpan a int.
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
         */
        public static final TableWrapData FILL(int horizontalSpan, int verticalSpan){
                TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.FILL_GRAB);
@@ -324,27 +335,39 @@ public class CdmFormFactory extends FormToolkit{
                return layoutData;
        }
        
+       /**
+        * <p>LEFT</p>
+        *
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
+        */
        public static final TableWrapData LEFT(){
                return new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP);
        }
        
+       /**
+        * <p>RIGHT</p>
+        *
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
+        */
        public static final TableWrapData RIGHT(){
                return new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP);
        }
        
        /**
-        * 
-        * @return
+        * <p>FILL_HORIZONTALLY</p>
+        *
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
         */
        public static final TableWrapData FILL_HORIZONTALLY(){
                return FILL_HORIZONTALLY(1, 1);
        }
        
        /**
-        * 
-        * @param horizontalSpan
-        * @param verticalSpan
-        * @return
+        * <p>FILL_HORIZONTALLY</p>
+        *
+        * @param horizontalSpan a int.
+        * @param verticalSpan a int.
+        * @return a {@link org.eclipse.ui.forms.widgets.TableWrapData} object.
         */
        public static final TableWrapData FILL_HORIZONTALLY(int horizontalSpan, int verticalSpan){
                TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP);
@@ -353,6 +376,7 @@ public class CdmFormFactory extends FormToolkit{
                return layoutData;
        }
        
+       /** Constant <code>EMPTY_SELECTION</code> */
        public static ISelection EMPTY_SELECTION = new ISelection() {
                public boolean isEmpty() {
                        return true;
@@ -384,9 +408,10 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param display
-        * @param selectionProvider
+        * <p>Constructor for CdmFormFactory.</p>
+        *
+        * @param display a {@link org.eclipse.swt.widgets.Display} object.
+        * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
         */
        public CdmFormFactory(Display display, ISelectionProvider selectionProvider) {
                super(display);
@@ -395,8 +420,9 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param display
+        * <p>Constructor for CdmFormFactory.</p>
+        *
+        * @param display a {@link org.eclipse.swt.widgets.Display} object.
         */
        public CdmFormFactory(Display display){
                super(display);
@@ -414,10 +440,12 @@ public class CdmFormFactory extends FormToolkit{
        
        /**
         * Creates an instance initialized with the correct selectionProvider
-        * 
+        *
         * Make sure to remove the instance when the entityComposite disposes via
         * destroySelectionArbitrator(..)
-        * @return
+        *
+        * @param entityElement a {@link eu.etaxonomy.taxeditor.forms.IEntityElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.SelectionArbitrator} object.
         */
        public SelectionArbitrator createSelectionArbitrator(IEntityElement entityElement){
                SelectionArbitrator selectionArbitrator = new SelectionArbitrator(entityElement);
@@ -427,6 +455,11 @@ public class CdmFormFactory extends FormToolkit{
                return selectionArbitrator;
        }
        
+       /**
+        * <p>destroySelectionArbitrator</p>
+        *
+        * @param selectionArbitrator a {@link eu.etaxonomy.taxeditor.forms.SelectionArbitrator} object.
+        */
        public void destroySelectionArbitrator(SelectionArbitrator selectionArbitrator){
                removeSelectionListener(selectionArbitrator);
                if(selectionProvider != null){
@@ -436,16 +469,23 @@ public class CdmFormFactory extends FormToolkit{
                }
        }
 
+       /** {@inheritDoc} */
        @Override
        public void adapt(Composite composite) {
                composite.addMouseListener(selectionMouseHandler);
                super.adapt(composite);
        }
        
+       /**
+        * <p>adapt</p>
+        *
+        * @param formElement a {@link eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement} object.
+        */
        public void adapt(AbstractCdmFormElement formElement){          
                formElement.setPropertyChangeListeners(propertyChangeListeners);
        }
        
+       /** {@inheritDoc} */
        @Override
        public void adapt(Control control, boolean trackFocus, boolean trackKeyboard) {
                if(trackFocus){
@@ -454,6 +494,11 @@ public class CdmFormFactory extends FormToolkit{
                super.adapt(control, trackFocus, trackKeyboard);
        }
        
+       /**
+        * <p>destroyElement</p>
+        *
+        * @param formElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        */
        public void destroyElement(ICdmFormElement formElement){
                // return if element was not initialized
                if(formElement == null){
@@ -486,17 +531,24 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        
+       /**
+        * <p>createEmptyCell</p>
+        *
+        * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
+        * @return a {@link org.eclipse.swt.widgets.Label} object.
+        */
        public Label createEmptyCell(Composite parent){
                return this.createLabel(parent, null);
        }
        
        /**
-        * 
-        * @param parent
-        * @param labelString
-        * @param textHeight
-        * @param style
-        * @return
+        * <p>createMultilineTextWithLabel</p>
+        *
+        * @param labelString a {@link java.lang.String} object.
+        * @param textHeight a int.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.TextWithLabelElement} object.
         */
        public TextWithLabelElement createMultilineTextWithLabel(ICdmFormElement parentElement, String labelString, int textHeight, int style){
                TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, "", textHeight, style);
@@ -507,11 +559,14 @@ public class CdmFormFactory extends FormToolkit{
 
 
        /**
-        * @param textDataDetailElement
-        * @param object
-        * @param i
-        * @param wrap
-        * @return
+        * <p>createMultiLanguageTextElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param multilanguageText a {@link java.util.Map} object.
+        * @param textHeight a int.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.MultilanguageTextElement} object.
         */
        public MultilanguageTextElement createMultiLanguageTextElement(
                        ICdmFormElement parentElement, String labelString, Map<Language, LanguageString> multilanguageText, int textHeight,
@@ -524,12 +579,13 @@ public class CdmFormFactory extends FormToolkit{
        
        
        /**
-        * 
-        * @param parent
-        * @param labelString
-        * @param initialText
-        * @param style
-        * @return
+        * <p>createTextWithLabelElement</p>
+        *
+        * @param labelString a {@link java.lang.String} object.
+        * @param initialText a {@link java.lang.String} object.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.TextWithLabelElement} object.
         */
        public TextWithLabelElement createTextWithLabelElement(ICdmFormElement parentElement, String labelString, String initialText, int style){
                TextWithLabelElement element = new TextWithLabelElement(this, parentElement, labelString, initialText, null, style);
@@ -538,6 +594,15 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createIntegerTextWithLabelElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param initialInteger a {@link java.lang.Integer} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.NumberWithLabelElement} object.
+        */
        public NumberWithLabelElement createIntegerTextWithLabelElement(ICdmFormElement parentElement, String labelString, Integer initialInteger, int style){
                NumberWithLabelElement element = new NumberWithLabelElement(this, parentElement, labelString, initialInteger, style);
                adapt(element);
@@ -546,6 +611,15 @@ public class CdmFormFactory extends FormToolkit{
        }
        
 
+       /**
+        * <p>createFloatTextWithLabelElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param initialFloat a float.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.NumberWithLabelElement} object.
+        */
        public NumberWithLabelElement createFloatTextWithLabelElement(
                        ICdmFormElement parentElement, String labelString, float initialFloat,
                        int style) {
@@ -555,6 +629,15 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createLanguageStringWithLabelElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.LanguageStringWithLabelElement} object.
+        */
        public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement, String labelString, LanguageString languageString, int style){
                LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString, languageString, style);
                adapt(element);
@@ -562,6 +645,16 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createLanguageStringWithLabelElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param languageString a {@link eu.etaxonomy.cdm.model.common.LanguageString} object.
+        * @param height a int.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.LanguageStringWithLabelElement} object.
+        */
        public LanguageStringWithLabelElement createLanguageStringWithLabelElement(ICdmFormElement parentElement, String labelString, LanguageString languageString, int height, int style){
                LanguageStringWithLabelElement element = new LanguageStringWithLabelElement(this, parentElement, labelString, languageString, height, style);
                adapt(element);
@@ -570,12 +663,12 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param parentElement
-        * @param labelString
-        * @param initialText
-        * @param style
-        * @return
+        * <p>createTextElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param initialText a {@link java.lang.String} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.TextWithLabelElement} object.
         */
        public TextWithLabelElement createTextElement(ICdmFormElement parentElement, String initialText, int style){
                TextWithLabelElement element = new TextWithLabelElement(this, parentElement, null, initialText, null, style);
@@ -584,6 +677,15 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createKeyValueViewerElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param keyHeading a {@link java.lang.String} object.
+        * @param valueHeading a {@link java.lang.String} object.
+        * @param map a {@link java.util.Map} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.KeyValueViewerElement} object.
+        */
        public KeyValueViewerElement createKeyValueViewerElement(ICdmFormElement parentElement, String keyHeading, String valueHeading, Map<Object, Object> map){
                KeyValueViewerElement element = new KeyValueViewerElement(this, parentElement, keyHeading, valueHeading, map);
                adapt(element);
@@ -618,6 +720,16 @@ public class CdmFormFactory extends FormToolkit{
                REFERENCE_SYSTEM
        }
        
+       /**
+        * <p>createTermComboElement</p>
+        *
+        * @param termComboType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param selection a {@link eu.etaxonomy.cdm.model.common.DefinedTermBase} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement} object.
+        */
        public AbstractTermComboElement createTermComboElement(TermComboType termComboType, ICdmFormElement parentElement, String labelString, DefinedTermBase selection, int style){
                AbstractTermComboElement element = null;
                
@@ -703,6 +815,14 @@ public class CdmFormFactory extends FormToolkit{
                NOMENCLATURALCODE
        }
        
+       /**
+        * <p>createEnumComboElement</p>
+        *
+        * @param enumComboType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.EnumComboType} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.term.AbstractEnumComboElement} object.
+        */
        public AbstractEnumComboElement createEnumComboElement(EnumComboType enumComboType, ICdmFormElement parentElement, int style){
                AbstractEnumComboElement element = null;
 
@@ -720,11 +840,12 @@ public class CdmFormFactory extends FormToolkit{
        }       
        
        /**
-        * 
-        * @param parent
-        * @param imageUri
-        * @param style
-        * @return
+        * <p>createBrowserElement</p>
+        *
+        * @param imageUri a {@link java.net.URI} object.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.BrowserElement} object.
         */
        public BrowserElement createBrowserElement(ICdmFormElement parentElement, URI imageUri, int style){
                BrowserElement element = new BrowserElement(this, parentElement, imageUri, style);
@@ -733,6 +854,14 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createImageElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param imageUri a {@link java.net.URI} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.ImageElement} object.
+        */
        public ImageElement createImageElement(ICdmFormElement parentElement, URI imageUri, int style) {
                ImageElement element = new ImageElement(this, parentElement, imageUri, style);
                adapt(element);
@@ -741,12 +870,14 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param parent
-        * @param labelString
-        * @param initialText
-        * @param style
-        * @return
+        * <p>createTextActionElement</p>
+        *
+        * @param labelString a {@link java.lang.String} object.
+        * @param initialText a {@link java.lang.String} object.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param buttonLabel a {@link java.lang.String} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.TextActionElement} object.
         */
        public TextActionElement createTextActionElement(ICdmFormElement parentElement, String labelString, String buttonLabel, String initialText, int style){
                TextActionElement element = new TextActionElement(this, parentElement, labelString, buttonLabel, initialText, style);
@@ -779,11 +910,13 @@ public class CdmFormFactory extends FormToolkit{
        }       
                
        /**
-        * @param parent
-        * @param string
-        * @param b
-        * @param taxonBasePropertySection
-        * @return
+        * <p>createCheckbox</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param label a {@link java.lang.String} object.
+        * @param initialState a boolean.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.CheckboxElement} object.
         */
        public CheckboxElement createCheckbox(ICdmFormElement parentElement, String label, boolean initialState, int style) {
                CheckboxElement element = new CheckboxElement(this, parentElement, label, initialState, style | orientation);
@@ -796,12 +929,9 @@ public class CdmFormFactory extends FormToolkit{
        
        /**
         * Creates a section as a part of the form.
-        * 
-        * @param parent
-        *            the section parent
-        * @param sectionStyle
-        *            the section style
+        *
         * @return the section widget
+        * @param section a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
         */
        public Section adapt(AbstractFormSection section) {
                section.setMenu(section.getLayoutComposite().getMenu());
@@ -865,6 +995,16 @@ public class CdmFormFactory extends FormToolkit{
                }
        }
        
+       /**
+        * <p>createToggleableTextField</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param initialText a {@link java.lang.String} object.
+        * @param initialState a boolean.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.ToggleableTextElement} object.
+        */
        public ToggleableTextElement createToggleableTextField(ICdmFormElement parentElement,
                        String labelString,     String initialText, boolean initialState, int style) {
                ToggleableTextElement element = new ToggleableTextElement(this, parentElement,
@@ -874,6 +1014,15 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createTimePeriodElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param timePeriod a {@link eu.etaxonomy.cdm.model.common.TimePeriod} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.TimePeriodElement} object.
+        */
        public TimePeriodElement createTimePeriodElement(
                        ICdmFormElement parentElement, String labelString, TimePeriod timePeriod, int style) {
                TimePeriodElement element = new TimePeriodElement(this, parentElement, labelString, timePeriod, style);
@@ -884,10 +1033,12 @@ public class CdmFormFactory extends FormToolkit{
        
 
        /**
-        * @param formElement
-        * @param exactLocation
-        * @param style
-        * @return
+        * <p>createPointElement</p>
+        *
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param point a {@link eu.etaxonomy.cdm.model.location.Point} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.PointElement} object.
         */
        public PointElement createPointElement(ICdmFormElement parentElement,
                        Point point, int style) {
@@ -897,6 +1048,13 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createDateDetailSection</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.DateDetailSection} object.
+        */
        public DateDetailSection createDateDetailSection(ICdmFormElement parentElement, int style){
                DateDetailSection section = new DateDetailSection(this, parentElement, style);
                parentElement.addElement(section);
@@ -904,6 +1062,15 @@ public class CdmFormFactory extends FormToolkit{
                return section;
        }
        
+       /**
+        * <p>createPartialElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param partial a {@link org.joda.time.Partial} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.PartialElement} object.
+        */
        public PartialElement createPartialElement(ICdmFormElement parentElement, String labelString, Partial partial, int style){
                PartialElement element = new PartialElement(this, parentElement, labelString, style);
                adapt(element);
@@ -911,10 +1078,20 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
 
+       /**
+        * <p>addSelectionListener</p>
+        *
+        * @param listener a {@link org.eclipse.swt.events.SelectionListener} object.
+        */
        public void addSelectionListener(SelectionListener listener){
                selectionListenerList.add(listener);
        }
        
+       /**
+        * <p>removeSelectionListener</p>
+        *
+        * @param listener a {@link org.eclipse.swt.events.SelectionListener} object.
+        */
        public void removeSelectionListener(SelectionListener listener){
                if(listener == null){
                        EditorUtil.error(this.getClass(), "Tried to remove a selection listener from this factories listeners but was null", null);
@@ -923,22 +1100,47 @@ public class CdmFormFactory extends FormToolkit{
                }
        }
        
+       /**
+        * <p>addPropertyChangeListener</p>
+        *
+        * @param listener a {@link org.eclipse.jface.util.IPropertyChangeListener} object.
+        */
        public void addPropertyChangeListener(IPropertyChangeListener listener) {
                propertyChangeListeners.add(listener);
        }
        
+       /**
+        * <p>removePropertyChangeListener</p>
+        *
+        * @param listener a {@link org.eclipse.jface.util.IPropertyChangeListener} object.
+        */
        public void removePropertyChangeListener(IPropertyChangeListener listener){
                propertyChangeListeners.remove(listener);
        }
 
 
 
+       /**
+        * <p>createHorizontalSeparator</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param style a int.
+        * @return a {@link org.eclipse.swt.widgets.Label} object.
+        */
        public Label createHorizontalSeparator(ICdmFormElement parentElement, int style) {
                Label separator = this.createSeparator(parentElement.getLayoutComposite(), SWT.HORIZONTAL | style);
                separator.setLayoutData(FILL_HORIZONTALLY());
                return separator;
        }
        
+       /**
+        * <p>createVersionElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param entity a {@link eu.etaxonomy.cdm.model.common.VersionableEntity} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.section.supplemental.VersionElement} object.
+        */
        public VersionElement createVersionElement(ICdmFormElement parentElement, VersionableEntity entity,
                        int style) {
                VersionElement element = new VersionElement(this, parentElement, entity, style);
@@ -947,6 +1149,13 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
 
+       /**
+        * <p>createVersionSection</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.section.supplemental.VersionSection} object.
+        */
        public VersionSection createVersionSection(ICdmFormElement parentElement, int style) {
                VersionSection section = new VersionSection(this, parentElement, style);
                parentElement.addElement(section);
@@ -954,6 +1163,12 @@ public class CdmFormFactory extends FormToolkit{
                return section;
        }
        
+       /**
+        * <p>createEmptyElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.section.EmptyElement} object.
+        */
        public EmptyElement createEmptyElement(ICdmFormElement parentElement) {
                EmptyElement element = new EmptyElement(this, parentElement, null, SWT.NULL);
                adapt(element);
@@ -961,6 +1176,12 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createHeadlineSection</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.section.supplemental.HeadlineSection} object.
+        */
        public HeadlineSection createHeadlineSection(ICdmFormElement parentElement) {
                HeadlineSection section = new HeadlineSection(this, parentElement, SWT.NULL);
                parentElement.addElement(section);
@@ -969,6 +1190,14 @@ public class CdmFormFactory extends FormToolkit{
        }
 
 
+       /**
+        * <p>createParsingMessageElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param parserProblem a {@link eu.etaxonomy.cdm.strategy.parser.ParserProblem} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.section.taxon.ParsingMessageElement} object.
+        */
        public ParsingMessageElement createParsingMessageElement(
                        ICdmFormElement parentElement, ParserProblem parserProblem, int style) {
                ParsingMessageElement element = new ParsingMessageElement(this, parentElement, parserProblem, style);
@@ -1009,12 +1238,14 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param detailType
-        * @param parentElement
-        * @param selectionProvider
-        * @param style
-        * @return
+        * <p>createCdmDetailSection</p>
+        *
+        * @param detailType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
+        * @param style a int.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
         */
        public AbstractFormSection createCdmDetailSection(DetailType detailType, ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
                AbstractFormSection section = null;
@@ -1090,11 +1321,12 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param detailType
-        * @param parent
-        * @param style
-        * @return
+        * <p>createCdmDetailElement</p>
+        *
+        * @param detailType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType} object.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement} object.
         */
        public AbstractCdmDetailElement createCdmDetailElement(DetailType detailType, ICdmFormElement parentElement, int style){
                AbstractCdmDetailElement element = null;
@@ -1205,11 +1437,13 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param entityDetailType
-        * @param parent
-        * @param style
-        * @return
+        * <p>createEntityDetailSection</p>
+        *
+        * @param entityDetailType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType} object.
+        * @param style a int.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
         */
        public AbstractFormSection createEntityDetailSection(EntityDetailType entityDetailType, ConversationHolder conversation, ICdmFormElement parentElement, int style){
                AbstractFormSection section = null;
@@ -1304,12 +1538,14 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
-        * @param parent
-        * @param entity
-        * @param removeListener
-        * @param style
-        * @return
+        * <p>createEntityCollectionElement</p>
+        *
+        * @param removeListener a {@link org.eclipse.swt.events.SelectionListener} object.
+        * @param style a int.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
+        * @param versionableEntity a {@link eu.etaxonomy.cdm.model.common.IVersionableEntity} object.
+        * @param backgroundColor a {@link org.eclipse.swt.graphics.Color} object.
+        * @return a {@link eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement} object.
         */
        public AbstractEntityCollectionElement createEntityCollectionElement(AbstractFormSection parentElement, IVersionableEntity versionableEntity, SelectionListener removeListener, Color backgroundColor, int style){
                AbstractEntityCollectionElement element = null;
@@ -1412,13 +1648,16 @@ public class CdmFormFactory extends FormToolkit{
        }
        
        /**
-        * 
+        * <p>createSelectionElement</p>
+        *
+        * @param selectionType a {@link eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param labelString a {@link java.lang.String} object.
         * @param selectionType
-        * @param parentElement
-        * @param labelString
-        * @param selection
-        * @param style
-        * @return
+        * @param selection a {@link eu.etaxonomy.cdm.model.common.IAnnotatableEntity} object.
+        * @param style a int.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.selection.AbstractSelectionElement} object.
         */
        public AbstractSelectionElement createSelectionElement(SelectionType selectionType,  ConversationHolder conversation, ICdmFormElement parentElement, String labelString, IAnnotatableEntity selection, int style){
                AbstractSelectionElement element = null;
@@ -1478,6 +1717,16 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
        
+       /**
+        * <p>createNamedAreaSelectionElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @param labelString a {@link java.lang.String} object.
+        * @param selection a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.forms.selection.NamedAreaSelectionElement} object.
+        */
        public NamedAreaSelectionElement createNamedAreaSelectionElement(ICdmFormElement parentElement, ConversationHolder conversation, String labelString, NamedArea selection, int style){
                NamedAreaSelectionElement element = new NamedAreaSelectionElement(this, conversation, parentElement, labelString, selection, style);
                adapt(element);
@@ -1485,6 +1734,7 @@ public class CdmFormFactory extends FormToolkit{
                return element;
        }
 
+       /** {@inheritDoc} */
        public LabelElement createLabel(ICdmFormElement parentElement, String text) {
                LabelElement labelElement = new LabelElement(this, parentElement, text);
                adapt(labelElement);
@@ -1492,10 +1742,23 @@ public class CdmFormFactory extends FormToolkit{
                return labelElement;
        }
 
+       /**
+        * <p>Getter for the field <code>selectionProvider</code>.</p>
+        *
+        * @return a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
+        */
        public ISelectionProvider getSelectionProvider() {
                return selectionProvider;
        }
 
+       /**
+        * <p>createDetailedDescriptionDetailElement</p>
+        *
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.forms.ICdmFormElement} object.
+        * @param entity a {@link eu.etaxonomy.cdm.model.description.DescriptionElementBase} object.
+        * @param style a int.
+        * @return a {@link eu.etaxonomy.taxeditor.section.description.detail.AbstractDetailedDescriptionDetailElement} object.
+        */
        public AbstractDetailedDescriptionDetailElement createDetailedDescriptionDetailElement(
                        ICdmFormElement parentElement, DescriptionElementBase entity, int style) {
                AbstractDetailedDescriptionDetailElement detailedDescriptionElement = null;
@@ -1534,7 +1797,7 @@ public class CdmFormFactory extends FormToolkit{
        
        /**
         * Creates a styled text as a part of the form.
-        * 
+        *
         * @param parent
         *            the text parent
         * @param value