futher implementations and fixes regarding DerivedUnitFacadeController
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / json / processor / bean / TypeDesignationBaseBeanProcessor.java
1 // $Id$
2 /**
3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.cdm.remote.json.processor.bean;
11
12 import java.util.List;
13
14 import net.sf.json.JSONObject;
15 import net.sf.json.JsonConfig;
16 import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
17 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
18 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
19
20 /**
21 * @author a.kohlbecker
22 * @date 09.07.2010
23 *
24 */
25 public class TypeDesignationBaseBeanProcessor extends AbstractCdmBeanProcessor<TypeDesignationBase> {
26
27 /* (non-Javadoc)
28 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractCdmBeanProcessor#getIgnorePropNames()
29 */
30 @Override
31 public List<String> getIgnorePropNames() {
32 return null;
33 }
34
35 /* (non-Javadoc)
36 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractCdmBeanProcessor#processBeanSecondStep(eu.etaxonomy.cdm.model.common.CdmBase, net.sf.json.JSONObject, net.sf.json.JsonConfig)
37 */
38 @Override
39 public JSONObject processBeanSecondStep(TypeDesignationBase bean, JSONObject json, JsonConfig jsonConfig) {
40 json.element("typeStatus", bean.getTypeStatus(), jsonConfig);
41 if(bean.getClass().isAssignableFrom(SpecimenTypeDesignation.class)){
42 json.element("typeSpecimen", ((SpecimenTypeDesignation)bean).getTypeSpecimen(), jsonConfig);
43 } else if (bean.getClass().isAssignableFrom(NameTypeDesignation.class)){
44 json.element("typeName", ((NameTypeDesignation)bean).getTypeName(), jsonConfig);
45 }
46 return json;
47 }
48
49 }