EMMA Coverage Report (generated Sun Mar 01 22:06:14 CET 2015)
[all classes][org.h2.expression]

COVERAGE SUMMARY FOR SOURCE FILE [ParameterRemote.java]

nameclass, %method, %block, %line, %
ParameterRemote.java100% (1/1)100% (11/11)93%  (114/123)97%  (27.1/28)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ParameterRemote100% (1/1)100% (11/11)93%  (114/123)97%  (27.1/28)
getPrecision (): long 100% (1/1)70%  (7/10)70%  (0.7/1)
getScale (): int 100% (1/1)70%  (7/10)70%  (0.7/1)
getType (): int 100% (1/1)70%  (7/10)70%  (0.7/1)
ParameterRemote (int): void 100% (1/1)100% (12/12)100% (5/5)
checkSet (): void 100% (1/1)100% (18/18)100% (3/3)
getNullable (): int 100% (1/1)100% (3/3)100% (1/1)
getParamValue (): Value 100% (1/1)100% (3/3)100% (1/1)
isValueSet (): boolean 100% (1/1)100% (7/7)100% (1/1)
readMetaData (Transfer): void 100% (1/1)100% (17/17)100% (5/5)
setValue (Value, boolean): void 100% (1/1)100% (12/12)100% (4/4)
writeMetaData (Transfer, ParameterInterface): void 100% (1/1)100% (21/21)100% (5/5)

1/*
2 * Copyright 2004-2014 H2 Group. Multiple-Licensed under the MPL 2.0,
3 * and the EPL 1.0 (http://h2database.com/html/license.html).
4 * Initial Developer: H2 Group
5 */
6package org.h2.expression;
7 
8import java.io.IOException;
9import java.sql.ResultSetMetaData;
10 
11import org.h2.api.ErrorCode;
12import org.h2.message.DbException;
13import org.h2.value.Transfer;
14import org.h2.value.Value;
15 
16/**
17 * A client side (remote) parameter.
18 */
19public class ParameterRemote implements ParameterInterface {
20 
21    private Value value;
22    private final int index;
23    private int dataType = Value.UNKNOWN;
24    private long precision;
25    private int scale;
26    private int nullable = ResultSetMetaData.columnNullableUnknown;
27 
28    public ParameterRemote(int index) {
29        this.index = index;
30    }
31 
32    @Override
33    public void setValue(Value newValue, boolean closeOld) {
34        if (closeOld && value != null) {
35            value.close();
36        }
37        value = newValue;
38    }
39 
40    @Override
41    public Value getParamValue() {
42        return value;
43    }
44 
45    @Override
46    public void checkSet() {
47        if (value == null) {
48            throw DbException.get(ErrorCode.PARAMETER_NOT_SET_1, "#" + (index + 1));
49        }
50    }
51 
52    @Override
53    public boolean isValueSet() {
54        return value != null;
55    }
56 
57    @Override
58    public int getType() {
59        return value == null ? dataType : value.getType();
60    }
61 
62    @Override
63    public long getPrecision() {
64        return value == null ? precision : value.getPrecision();
65    }
66 
67    @Override
68    public int getScale() {
69        return value == null ? scale : value.getScale();
70    }
71 
72    @Override
73    public int getNullable() {
74        return nullable;
75    }
76 
77    /**
78     * Write the parameter meta data from the transfer object.
79     *
80     * @param transfer the transfer object
81     */
82    public void readMetaData(Transfer transfer) throws IOException {
83        dataType = transfer.readInt();
84        precision = transfer.readLong();
85        scale = transfer.readInt();
86        nullable = transfer.readInt();
87    }
88 
89    /**
90     * Write the parameter meta data to the transfer object.
91     *
92     * @param transfer the transfer object
93     * @param p the parameter
94     */
95    public static void writeMetaData(Transfer transfer, ParameterInterface p)
96            throws IOException {
97        transfer.writeInt(p.getType());
98        transfer.writeLong(p.getPrecision());
99        transfer.writeInt(p.getScale());
100        transfer.writeInt(p.getNullable());
101    }
102 
103}

[all classes][org.h2.expression]
EMMA 2.0.5312 (C) Vladimir Roubtsov