/
DbFeatureRowMapper.java
43 lines (33 loc) · 1 KB
/
DbFeatureRowMapper.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// This software is released into the Public Domain. See copying.txt for details.
package org.openstreetmap.osmosis.core.database;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.openstreetmap.osmosis.core.store.Storeable;
/**
* Wraps database features within a database feature object containing the owning entity id.
*
* @param <T>
* The type of feature to be wrapped.
*/
public class DbFeatureRowMapper<T extends Storeable> implements RowMapperListener<T> {
private RowMapperListener<DbFeature<T>> listener;
/**
* Creates a new instance.
*
* @param listener
* The destination for result objects.
*/
public DbFeatureRowMapper(RowMapperListener<DbFeature<T>> listener) {
this.listener = listener;
}
/**
* {@inheritDoc}
*/
@Override
public void process(T data, ResultSet resultSet) throws SQLException {
long id;
// Get the owning entity id.
id = resultSet.getLong("id");
listener.process(new DbFeature<T>(id, data), resultSet);
}
}