Project

General

Profile

Download (1.91 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.cdm.io.common.mapping.out;
11

    
12
import java.sql.Types;
13

    
14
import org.apache.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.model.common.CdmBase;
17
import eu.etaxonomy.cdm.model.common.ExtensionType;
18

    
19
/**
20
 * @author a.mueller
21
 * @created 10.06.2009
22
 * @version 1.0
23
 */
24
public class DbIntegerExtensionMapper extends DbExtensionMapper {
25
	private static final Logger logger = Logger.getLogger(DbIntegerExtensionMapper.class);
26

    
27

    
28

    
29
	public static DbIntegerExtensionMapper NewInstance(ExtensionType extensionType, String dbAttributeString){
30
		return new DbIntegerExtensionMapper(extensionType, dbAttributeString);
31
	}
32

    
33

    
34
	/**
35
	 * @param dbAttributeString
36
	 * @param cdmAttributeString
37
	 */
38
	private DbIntegerExtensionMapper(ExtensionType extensionType, String dbAttributeString) {
39
		super(extensionType, dbAttributeString);
40
	}
41

    
42
	/* (non-Javadoc)
43
	 * @see eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbAnnotationMapper#getValue(eu.etaxonomy.cdm.model.common.CdmBase)
44
	 */
45
	@Override
46
	protected Object getValue(CdmBase cdmBase) {
47
		String strValue = (String)super.getValue(cdmBase);
48
		Integer intValue;
49
		try {
50
			intValue = (strValue == null) ? null : Integer.valueOf(strValue);
51
		} catch (NumberFormatException e) {
52
			logger.warn("Annotation could not be casted to Integer: " + strValue);
53
			return null;
54
		}
55
		return intValue;
56
	}
57

    
58
	/* (non-Javadoc)
59
	 * @see eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbAnnotationMapper#getSqlType()
60
	 */
61
	@Override
62
	protected int getSqlType() {
63
		return Types.INTEGER;
64
	}
65

    
66
	/* (non-Javadoc)
67
	 * @see eu.etaxonomy.cdm.io.berlinModel.out.mapper.DbAnnotationMapper#getTypeClass()
68
	 */
69
	@Override
70
	public Class<?> getTypeClass() {
71
		return Integer.class;
72
	}
73

    
74

    
75

    
76

    
77

    
78
}
(18-18/40)