ConverterBuilderDelegate.java

1
package fr.sii.ogham.core.builder.env;
2
3
import fr.sii.ogham.core.builder.configuration.MayOverride;
4
import fr.sii.ogham.core.convert.Converter;
5
import fr.sii.ogham.core.convert.SupportingConverter;
6
import fr.sii.ogham.core.fluent.AbstractParent;
7
8
/**
9
 * Implementation that just delegates all operations to another builder.
10
 * 
11
 * <p>
12
 * This is useful when a {@link ConverterBuilder} is used for a particular
13
 * parent and it must be inherited. As the parent types are not the same, you
14
 * can't directly use the same reference. So this implementation wraps the
15
 * original reference but as it is a new instance, it can have a different
16
 * parent builder.
17
 * </p>
18
 * 
19
 * @author Aurélien Baudet
20
 *
21
 * @param <P>
22
 *            the type of the parent builder (when calling {@link #and()}
23
 *            method)
24
 */
25
public class ConverterBuilderDelegate<P> extends AbstractParent<P> implements ConverterBuilder<P> {
26
	private ConverterBuilder<?> delegate;
27
28
	/**
29
	 * Wraps the delegate builder. The delegated builder parent is not used.
30
	 * This instance uses the provided parent instead for chaining.
31
	 * 
32
	 * @param parent
33
	 *            the new parent used for chaining
34
	 * @param delegate
35
	 *            the instance that will really be updated
36
	 */
37
	public ConverterBuilderDelegate(P parent, ConverterBuilder<?> delegate) {
38
		super(parent);
39
		this.delegate = delegate;
40
	}
41
42
	@Override
43
	public ConverterBuilderDelegate<P> override(Converter converter) {
44
		delegate.override(converter);
45 1 1. override : replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::override → NO_COVERAGE
		return this;
46
	}
47
48
	@Override
49
	public ConverterBuilderDelegate<P> register(SupportingConverter converter) {
50
		delegate.register(converter);
51 1 1. register : replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::register → NO_COVERAGE
		return this;
52
	}
53
54
	@Override
55
	public ConverterBuilder<P> defaultConverter(MayOverride<Converter> converter) {
56
		delegate.defaultConverter(converter);
57 1 1. defaultConverter : replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::defaultConverter → NO_COVERAGE
		return this;
58
	}
59
60
	@Override
61
	public Converter build() {
62 1 1. build : replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::build → NO_COVERAGE
		return delegate.build();
63
	}
64
}

Mutations

45

1.1
Location : override
Killed by : none
replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::override → NO_COVERAGE

51

1.1
Location : register
Killed by : none
replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::register → NO_COVERAGE

57

1.1
Location : defaultConverter
Killed by : none
replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::defaultConverter → NO_COVERAGE

62

1.1
Location : build
Killed by : none
replaced return value with null for fr/sii/ogham/core/builder/env/ConverterBuilderDelegate::build → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT OGHAM