1/*
2 * Copyright (C) 2008-2009 Marc Blank
3 * Licensed to The Android Open Source Project.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18package com.android.exchange;
19
20import java.io.IOException;
21import java.io.InputStream;
22
23/**
24 * MockParserStream is an InputStream that feeds pre-generated data into various EasParser
25 * subclasses.
26 *
27 * After parsing is done, the result can be obtained with getResult
28 *
29 */
30public class MockParserStream extends InputStream {
31    int[] array;
32    int pos = 0;
33    Object value;
34
35    MockParserStream (int[] _array) {
36        array = _array;
37    }
38
39    @Override
40    public int read() throws IOException {
41        try {
42            return array[pos++];
43        } catch (IndexOutOfBoundsException e) {
44            throw new IOException("End of stream");
45        }
46    }
47
48    public void setResult(Object _value) {
49        value = _value;
50    }
51
52    public Object getResult() {
53        return value;
54    }
55}
56