+/**
+ *
+ */
+package eu.etaxonomy.taxeditor.ui.section;
+
+import java.util.Arrays;
+
+import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
+import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
+
+/**
+ * @author n.hoffmann
+ *
+ */
+public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentifiableEntity> extends
+ AbstractCdmDetailElement<T> {
+
+ protected ToggleableTextElement toggleable_cache;
+
+ public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ protected void handleToggleableCacheField(){
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(),
+ pushedState);
+ setIrrelevant(pushedState,
+ Arrays.asList(new Object[] { toggleable_cache }));
+ if(! pushedState){
+ toggleable_cache.setText(getEntity().generateTitle());
+ }
+ }
+}