// This software is released into the Public Domain. See copying.txt for details. package org.openstreetmap.osmosis.apidb.v0_6.impl; import java.sql.ResultSet; import java.sql.SQLException; 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.openstreetmap.osmosis.core.util.FixedPrecisionCoordinateConvertor; /** * Maps node result set rows into node objects. */ public class NodeRowMapper implements RowMapperListener<CommonEntityData> { private RowMapperListener<Node> listener; /** * Creates a new instance. * * @param listener * The destination for result objects. */ public NodeRowMapper(RowMapperListener<Node> listener) { this.listener = listener; } /** * {@inheritDoc} */ @Override public void process(CommonEntityData data, ResultSet resultSet) throws SQLException { double latitude; double longitude; Node node; latitude = FixedPrecisionCoordinateConvertor.convertToDouble(resultSet.getInt("latitude")); longitude = FixedPrecisionCoordinateConvertor.convertToDouble(resultSet.getInt("longitude")); node = new Node(data, latitude, longitude); listener.process(node, resultSet); } }