OverrideNameWrapper.java

1
package fr.sii.ogham.core.resource;
2
3
import java.io.IOException;
4
import java.io.InputStream;
5
6
/**
7
 * Wraps a {@link Resource} to provide a name.
8
 * 
9
 * If no name has been provided and the wrapped {@link Resource} is a
10
 * {@link NamedResource}, the name of the underlying {@link NamedResource} is
11
 * used.
12
 * 
13
 * @author Aurélien Baudet
14
 *
15
 */
16
public class OverrideNameWrapper implements NamedResource {
17
	private final Resource delegate;
18
	private String name;
19
20
	/**
21
	 * Wraps the resource with no overridden name.
22
	 * 
23
	 * @param delegate
24
	 *            the wrapped resource
25
	 */
26
	public OverrideNameWrapper(Resource delegate) {
27
		this(delegate, null);
28
	}
29
30
	/**
31
	 * Wraps the resource and override its name.
32
	 * 
33
	 * @param delegate
34
	 *            the wrapped resource
35
	 * @param name
36
	 *            the name to use
37
	 */
38
	public OverrideNameWrapper(Resource delegate, String name) {
39
		super();
40
		this.delegate = delegate;
41
		this.name = name;
42
	}
43
44
	@Override
45
	public InputStream getInputStream() throws IOException {
46 1 1. getInputStream : replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getInputStream → NO_COVERAGE
		return delegate.getInputStream();
47
	}
48
49
	@Override
50
	public String getName() {
51 2 1. getName : negated conditional → NO_COVERAGE
2. getName : negated conditional → KILLED
		if (name != null) {
52 2 1. getName : replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → NO_COVERAGE
2. getName : replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → KILLED
			return name;
53
		}
54 1 1. getName : negated conditional → NO_COVERAGE
		if (delegate instanceof NamedResource) {
55 1 1. getName : replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → NO_COVERAGE
			return ((NamedResource) delegate).getName();
56
		}
57
		throw new IllegalStateException("The resource must have a name");
58
	}
59
60
	public Resource getDelegate() {
61 2 1. getDelegate : replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getDelegate → NO_COVERAGE
2. getDelegate : replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getDelegate → KILLED
		return delegate;
62
	}
63
}

Mutations

46

1.1
Location : getInputStream
Killed by : none
replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getInputStream → NO_COVERAGE

51

1.1
Location : getName
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : getName
Killed by : oghamall.it.email.FluentEmailTest.attachResource(oghamall.it.email.FluentEmailTest)
negated conditional → KILLED

52

1.1
Location : getName
Killed by : oghamall.it.email.FluentEmailTest.attachResource(oghamall.it.email.FluentEmailTest)
replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → KILLED

2.2
Location : getName
Killed by : none
replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → NO_COVERAGE

54

1.1
Location : getName
Killed by : none
negated conditional → NO_COVERAGE

55

1.1
Location : getName
Killed by : none
replaced return value with "" for fr/sii/ogham/core/resource/OverrideNameWrapper::getName → NO_COVERAGE

61

1.1
Location : getDelegate
Killed by : oghamall.it.email.FluentEmailTest.attachResource(oghamall.it.email.FluentEmailTest)
replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getDelegate → KILLED

2.2
Location : getDelegate
Killed by : none
replaced return value with null for fr/sii/ogham/core/resource/OverrideNameWrapper::getDelegate → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM