diff options
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/SingleTape.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/esodata/SingleTape.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/SingleTape.java b/base/src/main/java/bjc/utils/esodata/SingleTape.java index 636c04c..d57bc7f 100644 --- a/base/src/main/java/bjc/utils/esodata/SingleTape.java +++ b/base/src/main/java/bjc/utils/esodata/SingleTape.java @@ -163,6 +163,22 @@ public class SingleTape<T> implements Tape<T> { return true; } + public boolean seekTo(int tgtPos) { + if(tgtPos < 0) + return false; + + if(tgtPos >= backing.size() - 1) + if(autoExtend) + while(tgtPos >= backing.size() - 1) + backing.add(null); + else + return false; + + pos = tgtPos; + + return true; + } + @Override public int hashCode() { final int prime = 31; |
