• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/timemachine/db-4.7.25.NC/java/src/com/sleepycat/persist/impl/
1/*-
2 * See the file LICENSE for redistribution information.
3 *
4 * Copyright (c) 2002,2008 Oracle.  All rights reserved.
5 *
6 * $Id: RawArrayInput.java,v 1.1 2008/02/07 17:12:27 mark Exp $
7 */
8
9package com.sleepycat.persist.impl;
10
11import java.util.IdentityHashMap;
12
13import com.sleepycat.persist.raw.RawObject;
14
15/**
16 * Extends RawAbstractInput to convert array (ObjectArrayFormat and
17 * PrimitiveArrayteKeyFormat) RawObject instances.
18 *
19 * @author Mark Hayes
20 */
21class RawArrayInput extends RawAbstractInput {
22
23    private Object[] array;
24    private int index;
25    private Format componentFormat;
26
27    RawArrayInput(Catalog catalog,
28                  boolean rawAccess,
29                  IdentityHashMap converted,
30                  RawObject raw,
31                  Format componentFormat) {
32        super(catalog, rawAccess, converted);
33        array = raw.getElements();
34        this.componentFormat = componentFormat;
35    }
36
37    @Override
38    public int readArrayLength() {
39        return array.length;
40    }
41
42    @Override
43    Object readNext() {
44        Object o = array[index++];
45        return checkAndConvert(o, componentFormat);
46    }
47}
48