KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sleepycat > persist > impl > RawComplexInput


1 /*-
2  * See the file LICENSE for redistribution information.
3  *
4  * Copyright (c) 2002,2006 Oracle. All rights reserved.
5  *
6  * $Id: RawComplexInput.java,v 1.4 2006/10/30 21:14:32 bostic Exp $
7  */

8
9 package com.sleepycat.persist.impl;
10
11 import java.util.IdentityHashMap JavaDoc;
12
13 import com.sleepycat.persist.raw.RawObject;
14
15 /**
16  * Extends RawAbstractInput to convert complex (ComplexFormat and
17  * CompositeKeyFormat) RawObject instances.
18  *
19  * @author Mark Hayes
20  */

21 class RawComplexInput extends RawAbstractInput {
22
23     private FieldInfo[] fields;
24     private RawObject[] objects;
25     private int index;
26
27     RawComplexInput(Catalog catalog,
28                     boolean rawAccess,
29                     IdentityHashMap JavaDoc converted,
30                     FieldInfo[] fields,
31                     RawObject[] objects) {
32         super(catalog, rawAccess, converted);
33         this.fields = fields;
34         this.objects = objects;
35     }
36
37     @Override JavaDoc
38     Object JavaDoc readNext() {
39         RawObject raw = objects[index];
40         FieldInfo field = fields[index];
41         index += 1;
42         Format format = field.getType();
43         Object JavaDoc o = raw.getValues().get(field.getName());
44         return checkAndConvert(o, format);
45     }
46 }
47
Popular Tags