EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][javax.measure.converter]

COVERAGE SUMMARY FOR SOURCE FILE [AddConverter.java]

nameclass, %method, %block, %line, %
AddConverter.java0%   (0/1)0%   (0/7)0%   (0/65)0%   (0/15)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AddConverter0%   (0/1)0%   (0/7)0%   (0/65)0%   (0/15)
AddConverter (double): void 0%   (0/1)0%   (0/17)0%   (0/5)
concatenate (UnitConverter): UnitConverter 0%   (0/1)0%   (0/17)0%   (0/4)
convert (double): double 0%   (0/1)0%   (0/5)0%   (0/1)
getOffset (): double 0%   (0/1)0%   (0/3)0%   (0/1)
inverse (): UnitConverter 0%   (0/1)0%   (0/7)0%   (0/1)
isLinear (): boolean 0%   (0/1)0%   (0/2)0%   (0/1)
valueOf (double): UnitConverter 0%   (0/1)0%   (0/14)0%   (0/2)

1/*
2 * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences.
3 * Copyright (C) 2006 - JScience (http://jscience.org/)
4 * All rights reserved.
5 * 
6 * Permission to use, copy, modify, and distribute this software is
7 * freely granted, provided that this notice is preserved.
8 */
9package javax.measure.converter;
10 
11 
12/**
13 * <p> This class represents a converter adding a constant offset 
14 *     (approximated as a <code>double</code>) to numeric values.</p>
15 *     
16 * <p> Instances of this class are immutable.</p>
17 *
18 * @author  <a href="mailto:jean-marie@dautelle.com">Jean-Marie Dautelle</a>
19 * @version 3.1, April 22, 2006
20 */
21public final class AddConverter extends UnitConverter {
22 
23    /**
24     * Holds the offset.
25     */
26    private final double _offset;
27 
28    /**
29     * Creates an add converter with the specified offset.
30     *
31     * @param  offset the offset value.
32     * @throws IllegalArgumentException if offset is zero (or close to zero).
33     */
34    public AddConverter(double offset) {
35        if ((float)offset == 0.0)
36            throw new IllegalArgumentException("Identity converter not allowed");
37        _offset = offset;
38    }
39 
40    /**
41     * Returns the offset value for this add converter.
42     *
43     * @return the offset value.
44     */
45    public double getOffset() {
46        return _offset;
47    }
48    
49    @Override
50    public UnitConverter inverse() {
51        return new AddConverter(- _offset);
52    }
53 
54    @Override
55    public double convert(double amount) {
56        return amount + _offset;
57    }
58 
59    @Override
60    public boolean isLinear() {
61        return false;
62    }
63 
64    @Override
65    public UnitConverter concatenate(UnitConverter converter) {
66        if (converter instanceof AddConverter) {
67            double offset = _offset + ((AddConverter)converter)._offset;
68            return valueOf(offset);
69        } else {
70            return super.concatenate(converter);
71        }
72    }
73 
74    private static UnitConverter valueOf(double offset) {
75        float asFloat = (float) offset;
76        return asFloat == 0.0f ? UnitConverter.IDENTITY : new AddConverter(offset);
77    }
78    
79    private static final long serialVersionUID = 1L;
80}

[all classes][javax.measure.converter]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov