Subversion Repositories distributed

Compare Revisions

No changes between revisions

Regard whitespace Rev 1 → Rev 2

/ViaThinkSoft Distributed/src/de/viathinksoft/distributed/apps/immortal/iterator/marschall/legacy/MarschallIterator.java
0,0 → 1,51
package de.viathinksoft.distributed.apps.immortal.iterator.marschall.legacy;
 
import java.math.BigInteger;
import java.util.Iterator;
 
import de.viathinksoft.distributed.apps.immortal.exception.InitialNumberNotImmortableException;
import de.viathinksoft.distributed.apps.immortal.iterator.QuickImmortableCheck;
 
//TODO: Iterable aufspalten?
 
public class MarschallIterator implements Iterator<BigInteger>, Iterable<BigInteger> {
private BigInteger position;
public MarschallIterator(BigInteger start) throws InitialNumberNotImmortableException {
if (!QuickImmortableCheck.check(start)) {
throw new InitialNumberNotImmortableException();
}
 
this.position = start;
}
 
@Override
public boolean hasNext() {
return true;
}
 
@Override
public BigInteger next() {
String s = position.toString();
BigInteger prefixTrial = BigInteger.ZERO;
BigInteger chk;
do {
prefixTrial = prefixTrial.add(BigInteger.ONE);
chk = new BigInteger(prefixTrial.toString().concat(s));
} while (!QuickImmortableCheck.check(chk));
position = chk;
return position;
}
 
@Override
public void remove() {
throw new UnsupportedOperationException();
}
 
@Override
public Iterator<BigInteger> iterator() {
return this;
}
}
Property changes:
Added: svn:mime-type
+text/plain
\ No newline at end of property