ref #4302 Escape '&' in section titles
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / supplemental / HeadlineSection.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section.supplemental;
5
6
7 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
8 import eu.etaxonomy.cdm.model.common.ICdmBase;
9 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
10 import eu.etaxonomy.taxeditor.store.StoreUtil;
11 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
12 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
13 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
14
15 /**
16 * <p>HeadlineSection class.</p>
17 *
18 * @author n.hoffmann
19 * @version $Id: $
20 */
21 public class HeadlineSection extends AbstractFormSection<ICdmBase> {
22
23 /**
24 * <p>Constructor for HeadlineSection.</p>
25 *
26 * @param cdmFormFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
27 * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
28 * @param style a int.
29 */
30 public HeadlineSection(CdmFormFactory cdmFormFactory, ICdmFormElement parentElement,
31 int style) {
32 super(cdmFormFactory, parentElement, style);
33 }
34
35 /** {@inheritDoc} */
36 @Override
37 public void setEntity(ICdmBase cdmBase) {
38 ICdmBase entity = HibernateProxyHelper.deproxy(cdmBase);
39 super.setEntity(entity);
40
41 String simpleName = entity.getClass().getSimpleName();
42 String titleString = entity instanceof IdentifiableEntity ? ": " + ((IdentifiableEntity) entity).generateTitle() : "";
43 titleString = StoreUtil.cleanTitleString(titleString);
44 setText(simpleName + titleString);
45 layout();
46 }
47
48 }