Null2PlaceholderResolver.java

1
package pro.verron.officestamper.preset.resolvers.nulls;
2
3
import org.jspecify.annotations.Nullable;
4
import pro.verron.officestamper.api.DocxPart;
5
import pro.verron.officestamper.api.Insert;
6
import pro.verron.officestamper.api.ObjectResolver;
7
8
import static pro.verron.officestamper.utils.wml.WmlFactory.newRun;
9
10
/// The [Null2PlaceholderResolver] class is an implementation of the ObjectResolver interface. It provides a way to
11
/// resolve null objects by not replacing their expression.
12
///
13
/// @author Joseph Verron
14
/// @since 1.6.7
15
public class Null2PlaceholderResolver
16
        implements ObjectResolver {
17
18
    private final String placeholderTemplate;
19
20
    /// Constructs a new [Null2PlaceholderResolver] with the specified placeholder template.
21
    ///
22
    /// @param template the template string to be used for formatting placeholders, where the expression will be
23
    ///         inserted using [String#format(String, Object...)]
24
    public Null2PlaceholderResolver(String template) {
25
        this.placeholderTemplate = template;
26
    }
27
28
    @Override
29
    public Insert resolve(DocxPart part, String expression, @Nullable Object object) {
30 1 1. resolve : replaced return value with null for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::resolve → KILLED
        return new Insert(newRun(placeholderTemplate.formatted(expression)));
31
    }
32
33
    @Override
34
    public boolean canResolve(@Nullable Object object) {
35 2 1. canResolve : replaced boolean return with true for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::canResolve → SURVIVED
2. canResolve : negated conditional → KILLED
        return object == null;
36
    }
37
}

Mutations

30

1.1
Location : resolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]/[test-template-invocation:#3]
replaced return value with null for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::resolve → KILLED

35

1.1
Location : canResolve
Killed by : pro.verron.officestamper.test.DefaultTests.[engine:junit-jupiter]/[class:pro.verron.officestamper.test.DefaultTests]/[test-template:features(pro.verron.officestamper.api.OfficeStamperConfiguration, java.lang.Object, org.docx4j.openpackaging.packages.WordprocessingMLPackage, java.lang.String)]/[test-template-invocation:#3]
negated conditional → KILLED

2.2
Location : canResolve
Killed by : none
replaced boolean return with true for pro/verron/officestamper/preset/resolvers/nulls/Null2PlaceholderResolver::canResolve → SURVIVED
Covering tests

Active mutators

Tests examined


Report generated by PIT 1.25.5 support