PriorizedMatchingHandler.java

1
package fr.sii.ogham.core.util;
2
3
import java.util.function.Predicate;
4
5
import fr.sii.ogham.core.message.content.Content;
6
7
/**
8
 * Entry that declares a handler that is capable of handling a particular
9
 * content if the provided matcher matches the content.
10
 * 
11
 * The entry has also a priority order. Several handlers may be registered and
12
 * able to handle a particular content. Only the one with the highest priority
13
 * is used.
14
 * 
15
 * @author Aurélien Baudet
16
 *
17
 * @param <T>
18
 *            the handler type
19
 */
20
public class PriorizedMatchingHandler<T> {
21
	/**
22
	 * The matcher used to check if the content can be handled by the associated
23
	 * handler
24
	 */
25
	private final Predicate<Content> contentMatcher;
26
	/**
27
	 * The handler
28
	 */
29
	private final T handler;
30
	/**
31
	 * The priority of the handler
32
	 */
33
	private final int priority;
34
35
	public PriorizedMatchingHandler(Predicate<Content> contentMatcher, T handler, int priority) {
36
		super();
37
		this.contentMatcher = contentMatcher;
38
		this.handler = handler;
39
		this.priority = priority;
40
	}
41
42
	public boolean matches(Content content) {
43 8 1. matches : replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → NO_COVERAGE
2. matches : replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → NO_COVERAGE
3. matches : replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → TIMED_OUT
4. matches : replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → TIMED_OUT
5. matches : replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED
6. matches : replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED
7. matches : replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED
8. matches : replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED
		return contentMatcher.test(content);
44
	}
45
46
	public T getHandler() {
47 4 1. getHandler : replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → NO_COVERAGE
2. getHandler : replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → TIMED_OUT
3. getHandler : replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → KILLED
4. getHandler : replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → KILLED
		return handler;
48
	}
49
50
	public int getPriority() {
51 3 1. getPriority : replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → NO_COVERAGE
2. getPriority : replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → SURVIVED
3. getPriority : replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → TIMED_OUT
		return priority;
52
	}
53
}

Mutations

43

1.1
Location : matches
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredResourceResolutionCantAttachFilesFromPath(oghamall.it.configuration.EmptyBuilderTest)
replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED

2.2
Location : matches
Killed by : none
replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → TIMED_OUT

3.3
Location : matches
Killed by : none
replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → NO_COVERAGE

4.4
Location : matches
Killed by : oghamjavamail.it.JavaMailStructureTest.plainTextBody(oghamjavamail.it.JavaMailStructureTest)
replaced boolean return with false for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED

5.5
Location : matches
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredTemplateParsersCantHandleMultiTemplateContent(oghamall.it.configuration.EmptyBuilderTest)
replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED

6.6
Location : matches
Killed by : oghamjavamail.it.JavaMailStructureTest.plainTextBody(oghamjavamail.it.JavaMailStructureTest)
replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → KILLED

7.7
Location : matches
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → NO_COVERAGE

8.8
Location : matches
Killed by : none
replaced boolean return with true for fr/sii/ogham/core/util/PriorizedMatchingHandler::matches → TIMED_OUT

47

1.1
Location : getHandler
Killed by : none
replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → TIMED_OUT

2.2
Location : getHandler
Killed by : oghamjavamail.it.JavaMailStructureTest.plainTextBody(oghamjavamail.it.JavaMailStructureTest)
replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → KILLED

3.3
Location : getHandler
Killed by : none
replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → NO_COVERAGE

4.4
Location : getHandler
Killed by : oghamall.it.configuration.EmptyBuilderTest.emailSenderManuallyRegisteredButUnconfiguredResourceResolutionCantAttachFilesFromPath(oghamall.it.configuration.EmptyBuilderTest)
replaced return value with null for fr/sii/ogham/core/util/PriorizedMatchingHandler::getHandler → KILLED

51

1.1
Location : getPriority
Killed by : none
replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → TIMED_OUT

2.2
Location : getPriority
Killed by : none
replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → NO_COVERAGE

3.3
Location : getPriority
Killed by : none
replaced int return with 0 for fr/sii/ogham/core/util/PriorizedMatchingHandler::getPriority → SURVIVED

Active mutators

Tests examined


Report generated by PIT OGHAM