abstractiteratoradapter.java

来自「java 的源代码」· Java 代码 · 共 76 行

JAVA
76
字号
package com.reddragon2046.base.utilities.data.collections;

import java.util.Iterator;
import java.util.ListIterator;

// Referenced classes of package com.reddragon2046.base.utilities.data.collections:
//            AbstractIndexBasedIterator, IterationState

abstract class AbstractIteratorAdapter extends AbstractIndexBasedIterator
{

    protected AbstractIteratorAdapter(IterationState state)
    {
        super(state);
    }

    public void advance()
    {
        IterationState iterState = getIterationData();
        if(!atEnd())
        {
            Iterator iter = iterState.getIterator();
            if(iter.hasNext())
            {
                if(iterState.getLastDirection() == -1)
                    iter.next();
                iterState.setObject(iter.next());
            } else
            {
                iterState.setAtEnd(true);
                iterState.setObject(null);
            }
            iterState.incrementIndex();
            iterState.setAtBegin(false);
        }
    }

    public void retreat()
    {
        IterationState iterState = getIterationData();
        if(!atBegin())
        {
            ListIterator iter = iterState.getListIterator();
            if(iter.hasPrevious())
            {
                if(iterState.getLastDirection() == 1)
                    iter.previous();
                iterState.setObject(iter.previous());
            } else
            {
                iterState.setAtBegin(true);
                iterState.setObject(null);
            }
            iterState.decrementIndex();
            iterState.setAtEnd(false);
        }
    }

    static Class _mthclass$(String x0)
    {
        try
        {
            return Class.forName(x0);
        }
        catch(ClassNotFoundException x1)
        {
            throw new NoClassDefFoundError(x1.getMessage());
        }
    }

    static
    {
        Class c = com.reddragon2046.base.utilities.data.AbstractContainer.class;
    }
}

⌨️ 快捷键说明

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