EMMA Coverage Report (generated Fri Aug 21 15:59:46 BST 2009)
[all classes][org.springframework.batch.core]

COVERAGE SUMMARY FOR SOURCE FILE [JobParameter.java]

nameclass, %method, %block, %line, %
JobParameter.java100% (2/2)100% (13/13)93%  (163/175)90%  (28/31)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class JobParameter100% (1/1)100% (9/9)89%  (93/105)89%  (25/28)
getValue (): Object 100% (1/1)53%  (9/17)67%  (2/3)
equals (Object): boolean 100% (1/1)79%  (15/19)67%  (4/6)
JobParameter (Date): void 100% (1/1)100% (13/13)100% (4/4)
JobParameter (Double): void 100% (1/1)100% (9/9)100% (4/4)
JobParameter (Long): void 100% (1/1)100% (9/9)100% (4/4)
JobParameter (String): void 100% (1/1)100% (9/9)100% (4/4)
getType (): JobParameter$ParameterType 100% (1/1)100% (3/3)100% (1/1)
hashCode (): int 100% (1/1)100% (8/8)100% (1/1)
toString (): String 100% (1/1)100% (18/18)100% (1/1)
     
class JobParameter$ParameterType100% (1/1)100% (4/4)100% (70/70)100% (3/3)
<static initializer> 100% (1/1)100% (44/44)100% (2/2)
JobParameter$ParameterType (String, int): void 100% (1/1)100% (5/5)100% (1/1)
valueOf (String): JobParameter$ParameterType 100% (1/1)100% (5/5)100% (1/1)
values (): JobParameter$ParameterType [] 100% (1/1)100% (16/16)100% (1/1)

1/*
2 * Copyright 2006-2007 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 
17package org.springframework.batch.core;
18 
19import java.io.Serializable;
20import java.util.Date;
21 
22/**
23 * Domain representation of a parameter to a batch job. Only the following types
24 * can be parameters: String, Long, Date, and Double.
25 * 
26 * @author Lucas Ward
27 * @since 2.0
28 * 
29 */
30public class JobParameter implements Serializable {
31 
32        private final Object parameter;
33 
34        private final ParameterType parameterType;
35 
36        /**
37         * Construct a new JobParameter as a String.
38         */
39        public JobParameter(String parameter) {
40                this.parameter = parameter;
41                parameterType = ParameterType.STRING;
42        }
43 
44        /**
45         * Construct a new JobParameter as a Long.
46         * 
47         * @param parameter
48         */
49        public JobParameter(Long parameter) {
50                this.parameter = parameter;
51                parameterType = ParameterType.LONG;
52        }
53 
54        /**
55         * Construct a new JobParameter as a Date.
56         * 
57         * @param parameter
58         */
59        public JobParameter(Date parameter) {
60                this.parameter = new Date(parameter.getTime());
61                parameterType = ParameterType.DATE;
62        }
63 
64        /**
65         * Construct a new JobParameter as a Double.
66         * 
67         * @param parameter
68         */
69        public JobParameter(Double parameter) {
70                this.parameter = parameter;
71                parameterType = ParameterType.DOUBLE;
72        }
73 
74        /**
75         * @return the value contained within this JobParameter.
76         */
77        public Object getValue() {
78 
79                if (parameter.getClass().isInstance(Date.class)) {
80                        return new Date(((Date) parameter).getTime());
81                }
82                else {
83                        return parameter;
84                }
85        }
86 
87        /**
88         * @return a ParameterType representing the type of this parameter.
89         */
90        public ParameterType getType() {
91                return parameterType;
92        }
93 
94        @Override
95        public boolean equals(Object obj) {
96                if (obj instanceof JobParameter == false) {
97                        return false;
98                }
99 
100                if (this == obj) {
101                        return true;
102                }
103 
104                JobParameter rhs = (JobParameter) obj;
105                return this.parameter.equals(rhs.parameter);
106        }
107 
108        @Override
109        public String toString() {
110                return parameterType == ParameterType.DATE ? "" + ((Date) parameter).getTime() : parameter.toString();
111        }
112 
113        public int hashCode() {
114                return 7 + 21 * parameter.hashCode();
115        }
116 
117        /**
118         * Enumeration representing the type of a JobParameter.
119         */
120        public enum ParameterType {
121 
122                STRING, DATE, LONG, DOUBLE;
123        }
124}

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