Subversion Repository Public Repository

litesoft

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// This Source Code is in the Public Domain per: http://unlicense.org
package org.litesoft.sequences;

import java.util.*;

public final class SequenceBlockImpl extends SequenceBlock
{
    public static final SequenceBlock INITIAL = new SequenceBlockImpl( 1, 1 );

    private long mNextValue;
    private long mCurBlockEndExclusive;

    public SequenceBlockImpl( long pNextValue, long pCurBlockEndExclusive )
    {
        mNextValue = pNextValue;
        mCurBlockEndExclusive = pCurBlockEndExclusive;
    }

    public long getCurBlockEndExclusive()
    {
        return mCurBlockEndExclusive;
    }

    public long available()
    {
        return mCurBlockEndExclusive - mNextValue;
    }

    public boolean hasMore()
    {
        return mCurBlockEndExclusive > mNextValue;
    }

    public long next()
            throws NoSuchElementException
    {
        if ( hasMore() )
        {
            return mNextValue++;
        }
        throw new NoSuchElementException( "SequenceBlock Exhausted" );
    }

    protected Long peekNext()
    {
        return !hasMore() ? null : mNextValue;
    }
}

Commits for litesoft/trunk/Java/core/Anywhere/src/org/litesoft/sequences/SequenceBlockImpl.java

Diff revisions: vs.
Revision Author Commited Message
947 Diff Diff GeorgeS picture GeorgeS Fri 06 Jun, 2014 23:36:56 +0000

Correct Spelling of package!

49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000