DependencyInjection.java

1
package fi.eis.libraries.di;
2
3
import java.io.File;
4
import java.util.List;
5
import java.util.Map;
6
7
import fi.eis.libraries.di.context.configclass.ConfigurationClassContext;
8
import fi.eis.libraries.di.context.Context;
9
import fi.eis.libraries.di.context.deployment.DeploymentUnitContext;
10
import fi.eis.libraries.di.context.Module;
11
import fi.eis.libraries.di.logger.LogLevel;
12
13
/**
14
 * 
15
 * Main entrypoint class for the dependency injection. It supports three forms of dependency
16
 * injection: you can
17
 * 1) ask it to create a context from the deployment unit (e.g. jar) in question (deploymentUnitContext())
18
 * 2) ask it to create a context based on spring-style configuration class (configurationClassContext())
19
 * 3) list the classes and their instances explicitly as modules and ask it to create a context based on that (module() + context())
20
 * 4) list the classes explicitly and ask it to create a context based on that (context())
21
 * @author eis
22
 */
23
public class DependencyInjection {
24
    public static Module module(Class... classes) {
25 2 1. module : removed call to fi/eis/libraries/di/context/Module::<init> → KILLED
2. module : replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → KILLED
        return new Module(classes);
26
    }
27
    public static Module module(List<Class> classes) {
28 2 1. module : replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → NO_COVERAGE
2. module : removed call to fi/eis/libraries/di/context/Module::<init> → NO_COVERAGE
        return new Module(classes);
29
    }
30
    public static Module module(Map<Class,Object> classesWithInstances) {
31 2 1. module : replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → KILLED
2. module : removed call to fi/eis/libraries/di/context/Module::<init> → KILLED
        return new Module(classesWithInstances);
32
    }
33
    public static Context context(Module... modules) {
34
        // add all other modules to combined one
35 2 1. context : removed call to fi/eis/libraries/di/context/Module::<init> → KILLED
2. context : Substituted 0 with 1 → KILLED
        Module combinedModule = new Module();
36
        for (Module module: modules) {
37 1 1. context : removed call to fi/eis/libraries/di/context/Module::add → KILLED
            combinedModule.add(module);
38
        }
39
        // create a new module based on combined one
40 4 1. context : replaced return value with null for fi/eis/libraries/di/DependencyInjection::context → KILLED
2. context : Substituted 0 with 1 → KILLED
3. context : removed call to fi/eis/libraries/di/context/Context::<init> → KILLED
4. context : Substituted 1 with 0 → KILLED
        return new Context(combinedModule);
41
    }
42
43
    public static Context context(Class... classes) {
44
        // create a new module based on given classes
45 5 1. context : Substituted 1 with 0 → KILLED
2. context : Substituted 0 with 1 → KILLED
3. context : removed call to fi/eis/libraries/di/context/Context::<init> → KILLED
4. context : removed call to fi/eis/libraries/di/context/Module::<init> → KILLED
5. context : replaced return value with null for fi/eis/libraries/di/DependencyInjection::context → KILLED
        return new Context(new Module(classes));
46
    }
47
48
    public static Context deploymentUnitContext(Class sourceClass) {
49 2 1. deploymentUnitContext : removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED
2. deploymentUnitContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED
        return new DeploymentUnitContext(sourceClass);
50
    }
51
    public static Context deploymentUnitContext(File jarFile) {
52 2 1. deploymentUnitContext : removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED
2. deploymentUnitContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED
        return new DeploymentUnitContext(jarFile);
53
    }
54
    public static Context deploymentUnitContext(Class sourceClass, LogLevel logLevel) {
55 2 1. deploymentUnitContext : removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED
2. deploymentUnitContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED
        return new DeploymentUnitContext(sourceClass, logLevel);
56
    }
57
    public static Context deploymentUnitContext(File jarFile, LogLevel logLevel) {
58 2 1. deploymentUnitContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → NO_COVERAGE
2. deploymentUnitContext : removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → NO_COVERAGE
        return new DeploymentUnitContext(jarFile, logLevel);
59
    }
60
61
    public static Context configurationClassContext(Class... exampleJavaConfigClass) {
62 2 1. configurationClassContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::configurationClassContext → NO_COVERAGE
2. configurationClassContext : removed call to fi/eis/libraries/di/context/configclass/ConfigurationClassContext::<init> → NO_COVERAGE
        return new ConfigurationClassContext(exampleJavaConfigClass);
63
    }
64
    public static Context configurationClassContext(LogLevel logLevel, Class... exampleJavaConfigClass) {
65 2 1. configurationClassContext : removed call to fi/eis/libraries/di/context/configclass/ConfigurationClassContext::<init> → KILLED
2. configurationClassContext : replaced return value with null for fi/eis/libraries/di/DependencyInjection::configurationClassContext → KILLED
        return new ConfigurationClassContext(logLevel, exampleJavaConfigClass);
66
    }
67
}

Mutations

25

1.1
Location : module
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
removed call to fi/eis/libraries/di/context/Module::<init> → KILLED

2.2
Location : module
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → KILLED

28

1.1
Location : module
Killed by : none
replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → NO_COVERAGE

2.2
Location : module
Killed by : none
removed call to fi/eis/libraries/di/context/Module::<init> → NO_COVERAGE

31

1.1
Location : module
Killed by : fi.eis.libraries.di.test.javaconfig.JavaConfigTest.testJavaConfig(fi.eis.libraries.di.test.javaconfig.JavaConfigTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::module → KILLED

2.2
Location : module
Killed by : fi.eis.libraries.di.test.javaconfig.JavaConfigTest.testJavaConfig(fi.eis.libraries.di.test.javaconfig.JavaConfigTest)
removed call to fi/eis/libraries/di/context/Module::<init> → KILLED

35

1.1
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
removed call to fi/eis/libraries/di/context/Module::<init> → KILLED

2.2
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
Substituted 0 with 1 → KILLED

37

1.1
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
removed call to fi/eis/libraries/di/context/Module::add → KILLED

40

1.1
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::context → KILLED

2.2
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
Substituted 0 with 1 → KILLED

3.3
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
removed call to fi/eis/libraries/di/context/Context::<init> → KILLED

4.4
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest.testDi(fi.eis.libraries.di.test.moduleconfig.DIInheritanceTest)
Substituted 1 with 0 → KILLED

45

1.1
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIConstructorTest.testDiSkippingModuleAbstraction(fi.eis.libraries.di.test.moduleconfig.DIConstructorTest)
Substituted 1 with 0 → KILLED

2.2
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIConstructorTest.testDiSkippingModuleAbstraction(fi.eis.libraries.di.test.moduleconfig.DIConstructorTest)
Substituted 0 with 1 → KILLED

3.3
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIConstructorTest.testDiSkippingModuleAbstraction(fi.eis.libraries.di.test.moduleconfig.DIConstructorTest)
removed call to fi/eis/libraries/di/context/Context::<init> → KILLED

4.4
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIConstructorTest.testDiSkippingModuleAbstraction(fi.eis.libraries.di.test.moduleconfig.DIConstructorTest)
removed call to fi/eis/libraries/di/context/Module::<init> → KILLED

5.5
Location : context
Killed by : fi.eis.libraries.di.test.moduleconfig.DIConstructorTest.testDiSkippingModuleAbstraction(fi.eis.libraries.di.test.moduleconfig.DIConstructorTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::context → KILLED

49

1.1
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest.testDi(fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest)
removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED

2.2
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest.testDi(fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED

52

1.1
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningJarLoadingTest.testDiWithNonExistingFile(fi.eis.libraries.di.test.deploymentunit.DIClassScanningJarLoadingTest)
removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED

2.2
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningJarLoadingTest.testDi(fi.eis.libraries.di.test.deploymentunit.DIClassScanningJarLoadingTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED

55

1.1
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest.testDiLoggingDisabled(fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest)
removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → KILLED

2.2
Location : deploymentUnitContext
Killed by : fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest.testDiLoggingDisabled(fi.eis.libraries.di.test.deploymentunit.DIClassScanningTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → KILLED

58

1.1
Location : deploymentUnitContext
Killed by : none
replaced return value with null for fi/eis/libraries/di/DependencyInjection::deploymentUnitContext → NO_COVERAGE

2.2
Location : deploymentUnitContext
Killed by : none
removed call to fi/eis/libraries/di/context/deployment/DeploymentUnitContext::<init> → NO_COVERAGE

62

1.1
Location : configurationClassContext
Killed by : none
replaced return value with null for fi/eis/libraries/di/DependencyInjection::configurationClassContext → NO_COVERAGE

2.2
Location : configurationClassContext
Killed by : none
removed call to fi/eis/libraries/di/context/configclass/ConfigurationClassContext::<init> → NO_COVERAGE

65

1.1
Location : configurationClassContext
Killed by : fi.eis.libraries.di.test.javaconfig.JavaConfigTest.testJavaConfig(fi.eis.libraries.di.test.javaconfig.JavaConfigTest)
removed call to fi/eis/libraries/di/context/configclass/ConfigurationClassContext::<init> → KILLED

2.2
Location : configurationClassContext
Killed by : fi.eis.libraries.di.test.javaconfig.JavaConfigTest.testJavaConfig(fi.eis.libraries.di.test.javaconfig.JavaConfigTest)
replaced return value with null for fi/eis/libraries/di/DependencyInjection::configurationClassContext → KILLED

Active mutators

Tests examined


Report generated by PIT 1.25.4 support