diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-07 13:03:39 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-07 13:03:39 -0300 |
| commit | ca2a5c012267c500d9f0fd883c98904d125a64f0 (patch) | |
| tree | dad96199dce1967d6a60ad8419364099eda28348 /base/src/main/java/bjc/utils/esodata/DoubleTape.java | |
| parent | 74ba804b29109918f4446cd54092d90c7cf6510e (diff) | |
Refactor tapes
DoubleSided is now its own interface, and the unnecessary tape classes
have been removed
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/DoubleTape.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/esodata/DoubleTape.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/DoubleTape.java b/base/src/main/java/bjc/utils/esodata/DoubleTape.java index bfc58a4..520ab5e 100644 --- a/base/src/main/java/bjc/utils/esodata/DoubleTape.java +++ b/base/src/main/java/bjc/utils/esodata/DoubleTape.java @@ -24,7 +24,9 @@ package bjc.utils.esodata; * * @author bjculkin */ -public class DoubleTape<T> implements Tape<T> { +public class DoubleTape<T> implements Tape<T>, DoubleSided { + private boolean frontActive; + /* The front-side of the tape. */ private Tape<T> front; /* The back-side of the tape. */ @@ -45,6 +47,8 @@ public class DoubleTape<T> implements Tape<T> { public DoubleTape(final boolean autoExtnd) { front = new SingleTape<>(autoExtnd); back = new SingleTape<>(autoExtnd); + + frontActive = true; } @Override @@ -130,23 +134,20 @@ public class DoubleTape<T> implements Tape<T> { return succ; } - /** - * Flips the tape. - * - * The active side becomes inactive, and the inactive side becomes - * active. - */ + @Override public void flip() { final Tape<T> tmp = front; front = back; back = tmp; + + frontActive = !frontActive; } @Override - public boolean isDoubleSided() { - return true; + public boolean currentSide() { + return frontActive; } @Override |
