Skip to content

Package: Converters

Converters

nameinstructionbranchcomplexitylinemethod
Converters()
M: 0 C: 10
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 4
100%
M: 0 C: 1
100%
addDefaultConverters()
M: 0 C: 73
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 10
100%
M: 0 C: 1
100%
getConverter(Class)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: /**
2: * Copyright (C) 2020 Czech Technical University in Prague
3: *
4: * This program is free software: you can redistribute it and/or modify it under
5: * the terms of the GNU General Public License as published by the Free Software
6: * Foundation, either version 3 of the License, or (at your option) any
7: * later version.
8: *
9: * This program is distributed in the hope that it will be useful, but WITHOUT
10: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12: * details. You should have received a copy of the GNU General Public License
13: * along with this program. If not, see <http://www.gnu.org/licenses/>.
14: */
15: package cz.cvut.kbss.jopa.model.metamodel;
16:
17: import cz.cvut.kbss.jopa.oom.converter.*;
18:
19: import java.time.Instant;
20: import java.time.LocalDate;
21: import java.time.LocalDateTime;
22: import java.time.ZonedDateTime;
23: import java.util.HashMap;
24: import java.util.Map;
25: import java.util.Optional;
26:
27: class Converters {
28:
29: private final Map<Class<?>, ConverterWrapper<?, ?>> defaultConverters;
30:
31: Converters() {
32: this.defaultConverters = new HashMap<>();
33: addDefaultConverters();
34: }
35:
36: private void addDefaultConverters() {
37: defaultConverters.put(LocalDate.class, new LocalDateConverter());
38: defaultConverters.put(LocalDateTime.class, new LocalDateTimeConverter());
39: defaultConverters.put(Instant.class, new InstantConverter());
40: defaultConverters.put(ZonedDateTime.class, new ZonedDateTimeConverter());
41: defaultConverters.put(Short.class, new ToShortConverter());
42: defaultConverters.put(Integer.class, new ToIntegerConverter());
43: defaultConverters.put(Long.class, new ToLongConverter());
44: defaultConverters.put(Float.class, new ToFloatConverter());
45: defaultConverters.put(Double.class, new ToDoubleConverter());
46: }
47:
48: Optional<ConverterWrapper<?, ?>> getConverter(Class<?> type) {
49: return Optional.ofNullable(defaultConverters.get(type));
50: }
51: }