Generalizing DetailElement for IdentifiableEntities
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / AbstractIdentifiableEntityDetailElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section;
5
6 import java.util.Arrays;
7
8 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
9 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
10 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
11 import eu.etaxonomy.taxeditor.ui.forms.ToggleableTextElement;
12
13 /**
14 * @author n.hoffmann
15 *
16 */
17 public abstract class AbstractIdentifiableEntityDetailElement<T extends IIdentifiableEntity> extends
18 AbstractCdmDetailElement<T> {
19
20 protected ToggleableTextElement toggleable_cache;
21
22 public AbstractIdentifiableEntityDetailElement(CdmFormFactory formFactory,
23 ICdmFormElement formElement) {
24 super(formFactory, formElement);
25 }
26
27 protected void handleToggleableCacheField(){
28 boolean pushedState = toggleable_cache.getState();
29
30 getEntity().setTitleCache(toggleable_cache.getText(),
31 pushedState);
32 setIrrelevant(pushedState,
33 Arrays.asList(new Object[] { toggleable_cache }));
34 if(! pushedState){
35 toggleable_cache.setText(getEntity().generateTitle());
36 }
37 }
38 }