minor
[cdmlib.git] / cdmlib-io / src / main / java / eu / etaxonomy / cdm / io / common / mapping / DbImportObjectCreationMapper.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 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
11 package eu.etaxonomy.cdm.io.common.mapping;
12
13 import java.sql.ResultSet;
14 import java.sql.SQLException;
15
16 import org.apache.log4j.Logger;
17
18 import eu.etaxonomy.cdm.io.common.DbImportStateBase;
19 import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
20
21 /**
22 * @author a.mueller
23 * @created 12.05.2009
24 * @version 1.0
25 */
26 public class DbImportObjectCreationMapper<ANNOTATABLE extends AnnotatableEntity, STATE extends DbImportStateBase<?,?>> extends DbImportObjectCreationMapperBase<ANNOTATABLE, STATE> {
27 @SuppressWarnings("unused")
28 private static final Logger logger = Logger.getLogger(DbImportObjectCreationMapper.class);
29
30 //******************************** FACTORY METHOD ***************************************************/
31
32 public static DbImportObjectCreationMapper<?,?> NewInstance(IMappingImport mappingImport, String dbIdAttribute, String namespace){
33 return new DbImportObjectCreationMapper(mappingImport, dbIdAttribute, namespace);
34 }
35
36 //******************************* ATTRIBUTES ***************************************/
37 private IMappingImport<ANNOTATABLE, STATE> mappingImport;
38
39
40 //********************************* CONSTRUCTOR ****************************************/
41 /**
42 * @param mappingImport
43 */
44 protected DbImportObjectCreationMapper(IMappingImport<ANNOTATABLE, STATE> mappingImport, String dbIdAttribute, String objectToCreateNamespace) {
45 super(dbIdAttribute, objectToCreateNamespace);
46 this.mappingImport = mappingImport;
47 }
48
49 //************************************ METHODS *******************************************/
50
51
52 /* (non-Javadoc)
53 * @see eu.etaxonomy.cdm.io.common.mapping.DbImportObjectCreationMapperBase#doInvoke(java.sql.ResultSet, eu.etaxonomy.cdm.model.common.VersionableEntity)
54 */
55 @Override
56 protected ANNOTATABLE doInvoke(ResultSet rs, ANNOTATABLE createdObject) throws SQLException {
57 // do nothing
58 return createdObject;
59 }
60
61 /* (non-Javadoc)
62 * @see eu.etaxonomy.cdm.io.common.mapping.DbImportObjectCreationMapperBase#createObject(java.sql.ResultSet)
63 */
64 @Override
65 protected ANNOTATABLE createObject(ResultSet rs) throws SQLException {
66 ANNOTATABLE result = mappingImport.createObject(rs, importMapperHelper.getState());
67 return result;
68 }
69
70
71 }