package eu.dnetlib.openaire.user.dao;

import eu.dnetlib.openaire.user.User;
import eu.dnetlib.openaire.user.store.Statement;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;


/**
 * Created by sofia on 24/6/2016.
 */
public class SQLUserDAO implements UserDAO {
    @Override
    public User fetchById(String id) {
        return null;
    }

    @Override
    public User fetchByEmail(String mail) {
        return null;
    }

    @Override
    public User fetchByUsername(String username) {
        return null;
    }

    @Override
    public User fetchByName(String name) {
        return null;
    }

    @Override
    public User fetchBySurname(String surname) {
        return null;
    }

    @Override
    public List<User> fetchAll() {
        return null;
    }

    @Override
    public int countAll() {
        return 0;
    }

    @Override
    public void insert(User u) {

    }

    @Override
    public void delete(User u) {

    }

    @Override
    public User update(User u) {
        return null;
    }

    @Override
    public User fromResultSet(ResultSet set) throws SQLException {

        User user = new User(set.getString("username"));

        user.setPassword(set.getString("password"));
        user.setEmail(set.getString("email"));
        user.setName(set.getString("name"));
        user.setSurname(set.getString("surname"));

        return user;
    }

    @Override
    public int executeUpdate(String sql) {
        return 0;
    }

    @Override
    public int executeUpdate(String sql, Statement.Initializer init) {
        return 0;
    }

    @Override
    public User executeQuery(String sql) {
        return null;
    }

    @Override
    public User executeQuery(String sql, Statement.Initializer init) {
        return null;
    }

    @Override
    public long executeCount(String sql) {
        return 0;
    }

    @Override
    public long executeCount(String sql, Statement.Initializer init) {
        return 0;
    }
}