dxmultiiterator.java

来自「用Java写的面相对象的数据库管理系统」· Java 代码 · 共 92 行

JAVA
92
字号
// You can redistribute this software and/or modify it under the terms of// the Ozone Library License version 1 published by ozone-db.org.//// The original code and portions created by SMB are// Copyright (C) 1997-2000 by SMB GmbH. All rights reserved.//// $Id: DxMultiIterator.java,v 1.5 2000/10/28 16:55:14 daniela Exp $package org.ozoneDB.DxLib;/** *  *  * @author <a href="http://www.softwarebuero.de/">SMB</a> * @version $Revision: 1.5 $Date: 2000/10/28 16:55:14 $ */public class DxMultiIterator extends DxAbstractIterator {        final static long serialVersionUID = 1L;        DxMultiMap multiMap;    DxIterator mapIt;    DxIterator contIt;            /**     */    public DxMultiIterator( DxMultiMap _multiMap ) {        multiMap = _multiMap;        reset();    }            /**     */    public Object object() {        return contIt != null ? contIt.object() : null;    }             /**     */    public Object key() {        return mapIt != null ? mapIt.key() : null;    }             /**     */    public Object next() {        Object obj = contIt != null ? contIt.next() : null;        if (obj == null) {            contIt = null;            if (mapIt != null && mapIt.next() != null) {                contIt = ((DxCollection)mapIt.object()).iterator();                obj = contIt.next();            } else {                mapIt = null;            }         }         return obj;    }             /**     */    public void reset() {        mapIt = multiMap.iterator();        if (mapIt.next() != null) {            contIt = ((DxCollection)mapIt.object()).iterator();        } else {            mapIt = null;        }     }             /**     */    public Object removeObject() {        Object obj = null;        if (contIt != null) {            obj = contIt.removeObject();            multiMap.multiItemCount--;            if (((DxCollection)mapIt.object()).isEmpty()) {                contIt = null;                mapIt.removeObject();            }         }         return obj;    } }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?