Resolvers.java

1
package pro.verron.officestamper.preset;
2
3
import pro.verron.officestamper.api.ObjectResolver;
4
import pro.verron.officestamper.api.OfficeStamperException;
5
import pro.verron.officestamper.preset.resolvers.date.DateResolver;
6
import pro.verron.officestamper.preset.resolvers.image.ImageResolver;
7
import pro.verron.officestamper.preset.resolvers.localdate.LocalDateResolver;
8
import pro.verron.officestamper.preset.resolvers.localdatetime.LocalDateTimeResolver;
9
import pro.verron.officestamper.preset.resolvers.localtime.LocalTimeResolver;
10
import pro.verron.officestamper.preset.resolvers.nulls.Null2DefaultResolver;
11
import pro.verron.officestamper.preset.resolvers.nulls.Null2PlaceholderResolver;
12
import pro.verron.officestamper.preset.resolvers.objects.ToStringResolver;
13
14
import java.time.LocalDate;
15
import java.time.LocalDateTime;
16
import java.time.LocalTime;
17
import java.time.format.DateTimeFormatter;
18
import java.util.Date;
19
20
/// This class provides static methods to create different types of
21
/// [ObjectResolver].
22
///
23
/// @author Joseph Verron
24
/// @version ${version}
25
/// @since 1.6.7
26
public class Resolvers {
27
28
    private Resolvers() {
29
        throw new OfficeStamperException("Resolvers cannot be instantiated");
30
    }
31
32
    /// Returns an instance of [ObjectResolver] that can act as a fallback
33
    /// resolver. Will call the [Object#toString()] method on every type
34
    /// of objects.
35
    ///
36
    /// @return An instance of [ObjectResolver]
37
    public static ObjectResolver fallback() {
38 1 1. fallback : replaced return value with null for pro/verron/officestamper/preset/Resolvers::fallback → KILLED
        return new ToStringResolver();
39
    }
40
41
    /// Returns an instance of [ObjectResolver] that replaces null values with an empty string.
42
    ///
43
    /// @return An instance of [ObjectResolver]
44
    public static ObjectResolver nullToEmpty() {
45 1 1. nullToEmpty : replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToEmpty → KILLED
        return nullToDefault("");
46
    }
47
48
    /// Returns an instance of [ObjectResolver] that resolves null objects
49
    /// by creating a run with a default text value.
50
    ///
51
    /// @param value The default value for null objects.
52
    ///
53
    /// @return An instance of [ObjectResolver]
54
    public static ObjectResolver nullToDefault(String value) {
55 1 1. nullToDefault : replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToDefault → KILLED
        return new Null2DefaultResolver(value);
56
    }
57
58
    /// Returns an instance of [ObjectResolver] that resolves null objects
59
    /// by not replacing their expression.
60
    ///
61
    /// @return An instance of [ObjectResolver]
62
    public static ObjectResolver nullToPlaceholder() {
63 1 1. nullToPlaceholder : replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToPlaceholder → KILLED
        return new Null2PlaceholderResolver();
64
    }
65
66
    /// Returns an instance of [ObjectResolver] that resolves
67
    /// [LocalDateTime] values to a formatted string using the
68
    /// [DateTimeFormatter#ISO_LOCAL_DATE_TIME] pattern.
69
    ///
70
    /// @return An instance of [ObjectResolver]
71
    public static ObjectResolver isoDateTime() {
72 1 1. isoDateTime : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDateTime → KILLED
        return new LocalDateTimeResolver();
73
    }
74
75
    /// Returns an instance of [ObjectResolver] that resolves
76
    /// [LocalTime] values to a formatted string using the
77
    /// [DateTimeFormatter#ISO_LOCAL_TIME] pattern.
78
    ///
79
    /// @return An instance of [ObjectResolver]
80
    public static ObjectResolver isoTime() {
81 1 1. isoTime : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoTime → KILLED
        return new LocalTimeResolver();
82
    }
83
84
    /// Returns an instance of [ObjectResolver] that resolves
85
    /// [LocalDate] values to a formatted string using the
86
    /// [DateTimeFormatter#ISO_LOCAL_DATE] pattern.
87
    ///
88
    /// @return An instance of [ObjectResolver]
89
    public static ObjectResolver isoDate() {
90 1 1. isoDate : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDate → KILLED
        return new LocalDateResolver();
91
    }
92
93
    /// Returns an instance of [ObjectResolver] that resolves
94
    /// [LocalTime] values to a formatted string using the given
95
    /// [DateTimeFormatter] pattern.
96
    ///
97
    /// @param formatter the [DateTimeFormatter] pattern to use
98
    ///
99
    /// @return An instance of [ObjectResolver]
100
    public static ObjectResolver isoTime(DateTimeFormatter formatter) {
101 1 1. isoTime : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoTime → NO_COVERAGE
        return new LocalTimeResolver(formatter);
102
    }
103
104
    /// Returns an instance of [ObjectResolver] that resolves
105
    /// [LocalDate] values to a formatted string using the given
106
    /// [DateTimeFormatter] pattern.
107
    ///
108
    /// @param formatter the [DateTimeFormatter] pattern to use
109
    ///
110
    /// @return An instance of [ObjectResolver]
111
    public static ObjectResolver isoDate(DateTimeFormatter formatter) {
112 1 1. isoDate : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDate → NO_COVERAGE
        return new LocalDateResolver(formatter);
113
    }
114
115
    /// Returns an instance of [ObjectResolver] that resolves
116
    /// [LocalDateTime] values to a formatted string using the given
117
    /// [DateTimeFormatter] pattern.
118
    ///
119
    /// @param formatter the [DateTimeFormatter] pattern to use
120
    ///
121
    /// @return An instance of [ObjectResolver]
122
    public static ObjectResolver isoDateTime(DateTimeFormatter formatter) {
123 1 1. isoDateTime : replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDateTime → NO_COVERAGE
        return new LocalDateTimeResolver(formatter);
124
    }
125
126
    /// Returns an instance of [ObjectResolver] that resolves
127
    /// [Date] values to a formatted string using the
128
    /// "dd.MM.yyyy" pattern.
129
    ///
130
    /// @return An instance of [ObjectResolver]
131
    public static ObjectResolver legacyDate() {
132 1 1. legacyDate : replaced return value with null for pro/verron/officestamper/preset/Resolvers::legacyDate → KILLED
        return new DateResolver();
133
    }
134
135
    /// Returns an instance of [ObjectResolver] that resolves
136
    /// [Date] values to a formatted string using the given
137
    /// [DateTimeFormatter] pattern.
138
    ///
139
    /// @param formatter the [DateTimeFormatter] pattern to use
140
    ///
141
    /// @return An instance of [ObjectResolver]
142
    public static ObjectResolver legacyDate(DateTimeFormatter formatter) {
143 1 1. legacyDate : replaced return value with null for pro/verron/officestamper/preset/Resolvers::legacyDate → NO_COVERAGE
        return new DateResolver(formatter);
144
    }
145
146
    /// Returns an instance of [ObjectResolver] that resolves
147
    /// [Image] to an actual image in the resulting .docx document.
148
    /// The image will be put as an inline into the surrounding paragraph of text.
149
    ///
150
    /// @return An instance of [ObjectResolver]
151
    public static ObjectResolver image() {
152 1 1. image : replaced return value with null for pro/verron/officestamper/preset/Resolvers::image → KILLED
        return new ImageResolver();
153
    }
154
}

Mutations

38

1.1
Location : fallback
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::fallback → KILLED

45

1.1
Location : nullToEmpty
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToEmpty → KILLED

55

1.1
Location : nullToDefault
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToDefault → KILLED

63

1.1
Location : nullToPlaceholder
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(java.lang.String, pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, java.io.InputStream, java.lang.String)]/[test-template-invocation:#3]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::nullToPlaceholder → KILLED

72

1.1
Location : isoDateTime
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDateTime → KILLED

81

1.1
Location : isoTime
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoTime → KILLED

90

1.1
Location : isoDate
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDate → KILLED

101

1.1
Location : isoTime
Killed by : none
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoTime → NO_COVERAGE

112

1.1
Location : isoDate
Killed by : none
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDate → NO_COVERAGE

123

1.1
Location : isoDateTime
Killed by : none
replaced return value with null for pro/verron/officestamper/preset/Resolvers::isoDateTime → NO_COVERAGE

132

1.1
Location : legacyDate
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::legacyDate → KILLED

143

1.1
Location : legacyDate
Killed by : none
replaced return value with null for pro/verron/officestamper/preset/Resolvers::legacyDate → NO_COVERAGE

152

1.1
Location : image
Killed by : pro.verron.officestamper.test.ResolutionTest.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.ResolutionTest]/[test-template:testStaticResolution(java.lang.String, boolean, boolean, boolean, java.lang.String, java.lang.String)]/[test-template-invocation:#6]
replaced return value with null for pro/verron/officestamper/preset/Resolvers::image → KILLED

Active mutators

Tests examined


Report generated by PIT 1.21.0