// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6.impl; import java.util.Collections; import java.util.List; import org.openstreetmap.osmosis.core.container.v0_6.EntityContainerFactory; import org.openstreetmap.osmosis.core.container.v0_6.NodeContainerFactory; import org.openstreetmap.osmosis.core.database.RowMapperListener; import org.openstreetmap.osmosis.core.domain.v0_6.CommonEntityData; import org.openstreetmap.osmosis.core.domain.v0_6.Node; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; /** * Provides access to nodes in the database. */ public class NodeDao extends EntityDao<Node> { private static final String[] TYPE_SPECIFIC_FIELD_NAMES = new String[] {"latitude", "longitude"}; /** * Creates a new instance. * * @param jdbcTemplate * Used to access the database. */ public NodeDao(JdbcTemplate jdbcTemplate) { super(jdbcTemplate, "node"); } /** * {@inheritDoc} */ @Override protected RowMapperListener<CommonEntityData> getEntityRowMapper(RowMapperListener<Node> entityListener) { return new NodeRowMapper(entityListener); } /** * {@inheritDoc} */ @Override protected String[] getTypeSpecificFieldNames() { return TYPE_SPECIFIC_FIELD_NAMES; } /** * {@inheritDoc} */ @Override protected EntityContainerFactory<Node> getContainerFactory() { return new NodeContainerFactory(); } /** * {@inheritDoc} */ @Override protected List<FeatureHistoryPopulator<Node, ?, ?>> getFeatureHistoryPopulators( String selectedEntityTableName, MapSqlParameterSource parameterSource) { return Collections.emptyList(); } }