EMMA Coverage Report (generated Tue May 06 07:29:23 PDT 2008)
[all classes][org.springframework.batch.core]

COVERAGE SUMMARY FOR SOURCE FILE [JobParametersBuilder.java]

nameclass, %method, %block, %line, %
JobParametersBuilder.java100% (1/1)100% (6/6)100% (83/83)100% (19/19)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class JobParametersBuilder100% (1/1)100% (6/6)100% (83/83)100% (19/19)
JobParametersBuilder (): void 100% (1/1)100% (23/23)100% (6/6)
addDate (String, Date): JobParametersBuilder 100% (1/1)100% (15/15)100% (3/3)
addDouble (String, Double): JobParametersBuilder 100% (1/1)100% (11/11)100% (3/3)
addLong (String, Long): JobParametersBuilder 100% (1/1)100% (11/11)100% (3/3)
addString (String, String): JobParametersBuilder 100% (1/1)100% (11/11)100% (3/3)
toJobParameters (): JobParameters 100% (1/1)100% (12/12)100% (1/1)

1/**
2 * 
3 */
4package org.springframework.batch.core;
5 
6import java.util.Date;
7import java.util.LinkedHashMap;
8import java.util.Map;
9 
10import org.springframework.util.Assert;
11 
12/**
13 * Helper class for creating {@link JobParameters}. Useful because of all
14 * {@link JobParameters} are immutable, and require 3 separate maps of the three
15 * supported types to ensure typesafety. Once created, it can be used in the
16 * same was a java.lang.StringBuilder (except, order is irrelevant), by adding
17 * various parameters types and creating a valid JobRuntimeParametres once
18 * finished.
19 * 
20 * @author Lucas Ward
21 * @since 1.0
22 * @see JobParameters
23 */
24public class JobParametersBuilder {
25 
26        private final Map stringMap;
27 
28        private final Map longMap;
29        
30        private final Map doubleMap;
31 
32        private final Map dateMap;
33 
34        /**
35         * Default constructor. Initializes the builder
36         */
37        public JobParametersBuilder() {
38 
39                this.stringMap = new LinkedHashMap();
40                this.longMap = new LinkedHashMap();
41                this.doubleMap = new LinkedHashMap();
42                this.dateMap = new LinkedHashMap();
43        }
44 
45        /**
46         * Add a new String parameter for the given key.
47         * 
48         * @param key - parameter accessor.
49         * @param parameter - runtime parameter
50         * @return a refernece to this object.
51         */
52        public JobParametersBuilder addString(String key, String parameter) {
53                Assert.notNull(parameter, "Parameter must not be null.");
54                stringMap.put(key, parameter);
55                return this;
56        }
57 
58        /**
59         * Add a new Date parameter for the given key.
60         * 
61         * @param key - parameter accessor.
62         * @param parameter - runtime parameter
63         * @return a refernece to this object.
64         */
65        public JobParametersBuilder addDate(String key, Date parameter) {
66                Assert.notNull(parameter, "Parameter must not be null.");
67                dateMap.put(key, new Date(parameter.getTime()));
68                return this;
69        }
70 
71        /**
72         * Add a new Long parameter for the given key.
73         * 
74         * @param key - parameter accessor.
75         * @param parameter - runtime parameter
76         * @return a reference to this object.
77         */
78        public JobParametersBuilder addLong(String key, Long parameter) {
79                Assert.notNull(parameter, "Parameter must not be null.");
80                longMap.put(key, parameter);
81                return this;
82        }
83        
84        /**
85         * Add a new Double parameter for the given key.
86         * 
87         * @param key - parameter accessor.
88         * @param parameter - runtime parameter
89         * @return a reference to this object.
90         */
91        public JobParametersBuilder addDouble(String key, Double parameter) {
92                Assert.notNull(parameter, "Parameter must not be null.");
93                doubleMap.put(key, parameter);
94                return this;
95        }
96 
97        /**
98         * Conversion method that takes the current state of this builder and
99         * returns it as a JobruntimeParameters object.
100         * 
101         * @return a valid JobRuntimeParameters object.
102         */
103        public JobParameters toJobParameters() {
104                return new JobParameters(stringMap, longMap, doubleMap, dateMap);
105        }
106}

[all classes][org.springframework.batch.core]
EMMA 2.0.5312 (C) Vladimir Roubtsov