26 * POSSIBILITY OF SUCH DAMAGE. |
26 * POSSIBILITY OF SUCH DAMAGE. |
27 * |
27 * |
28 */ |
28 */ |
29 package de.uapcore.lightpit.dao; |
29 package de.uapcore.lightpit.dao; |
30 |
30 |
|
31 import java.sql.Date; |
31 import java.sql.PreparedStatement; |
32 import java.sql.PreparedStatement; |
32 import java.sql.SQLException; |
33 import java.sql.SQLException; |
33 import java.sql.Types; |
34 import java.sql.Types; |
34 import java.util.Optional; |
35 import java.util.Optional; |
35 import java.util.function.Function; |
36 import java.util.function.Function; |
45 } else { |
46 } else { |
46 stmt.setString(index, str); |
47 stmt.setString(index, str); |
47 } |
48 } |
48 } |
49 } |
49 |
50 |
|
51 public static void setDateOrNull(PreparedStatement stmt, int index, Date date) throws SQLException { |
|
52 if (date == null) { |
|
53 stmt.setNull(index, Types.DATE); |
|
54 } else { |
|
55 stmt.setDate(index, date); |
|
56 } |
|
57 } |
|
58 |
50 public static <T> void setForeignKeyOrNull(PreparedStatement stmt, int index, T instance, Function<? super T, Integer> keyGetter) throws SQLException { |
59 public static <T> void setForeignKeyOrNull(PreparedStatement stmt, int index, T instance, Function<? super T, Integer> keyGetter) throws SQLException { |
51 Integer key = Optional.ofNullable(instance).map(keyGetter).orElse(null); |
60 Integer key = Optional.ofNullable(instance).map(keyGetter).orElse(null); |
52 if (key == null) { |
61 if (key == null) { |
53 stmt.setNull(index, Types.INTEGER); |
62 stmt.setNull(index, Types.INTEGER); |
54 } else { |
63 } else { |