package org.peerbox.watchservice.filetree.persistency; import java.nio.file.Path; import java.nio.file.Paths; import java.sql.ResultSet; import java.sql.SQLException; import org.peerbox.app.manager.file.FileInfo; import org.sql2o.ResultSetHandler; /** * This result set handler converts database records (ResultSet) into * FileInfo objects. * * @author albrecht * */ class FileInfoResultSetHandler implements ResultSetHandler<FileInfo> { @Override public FileInfo handle(ResultSet resultSet) throws SQLException { final Path path = Paths.get(resultSet.getString("path")); final boolean isFile = resultSet.getBoolean("is_file"); final String contentHash = resultSet.getString("content_hash"); FileInfo fileInfo = new FileInfo(path, !isFile, contentHash); return fileInfo; } }