summaryrefslogtreecommitdiff
path: root/base/src/main/java/bjc/utils/esodata/TapeLibrary.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/TapeLibrary.java')
-rw-r--r--base/src/main/java/bjc/utils/esodata/TapeLibrary.java112
1 files changed, 22 insertions, 90 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/TapeLibrary.java b/base/src/main/java/bjc/utils/esodata/TapeLibrary.java
index 2dbc70b..00e2e99 100644
--- a/base/src/main/java/bjc/utils/esodata/TapeLibrary.java
+++ b/base/src/main/java/bjc/utils/esodata/TapeLibrary.java
@@ -13,24 +13,19 @@ import java.util.Map;
* either return null/false.
*
* @param <T>
- * The element type of the tapes.
+ * The element type of the tapes.
*/
public class TapeLibrary<T> implements Tape<T> {
- private final Map<String, Tape<T>> tapes;
- private Tape<T> currentTape;
+ /* Our backing store of tapes. */
+ private final Map<String, Tape<T>> tapes;
+ /* The current tape. */
+ private Tape<T> currentTape;
- /**
- * Create a new empty tape library.
- */
+ /** Create a new empty tape library. */
public TapeLibrary() {
tapes = new HashMap<>();
}
- /**
- * Get the item the tape is currently on.
- *
- * @return The item the tape is on.
- */
@Override
public T item() {
if (currentTape == null) return null;
@@ -38,12 +33,6 @@ public class TapeLibrary<T> implements Tape<T> {
return currentTape.item();
}
- /**
- * Set the item the tape is currently on.
- *
- * @param itm
- * The new value for the tape item.
- */
@Override
public void item(final T itm) {
if (currentTape == null) return;
@@ -51,11 +40,6 @@ public class TapeLibrary<T> implements Tape<T> {
currentTape.item(itm);
}
- /**
- * Get the current number of elements in the tape.
- *
- * @return The current number of elements in the tape.
- */
@Override
public int size() {
if (currentTape == null) return 0;
@@ -69,12 +53,7 @@ public class TapeLibrary<T> implements Tape<T> {
return currentTape.position();
}
- /**
- * Insert an element before the current item.
- *
- * @param itm
- * The item to add.
- */
+
@Override
public void insertBefore(final T itm) {
if (currentTape == null) return;
@@ -82,9 +61,6 @@ public class TapeLibrary<T> implements Tape<T> {
currentTape.insertBefore(itm);
}
- /**
- * Insert an element after the current item.
- */
@Override
public void insertAfter(final T itm) {
if (currentTape == null) return;
@@ -92,14 +68,6 @@ public class TapeLibrary<T> implements Tape<T> {
currentTape.insertAfter(itm);
}
- /**
- * Remove the current element.
- *
- * Also moves the cursor back one step if possible to maintain relative
- * position, and removes the corresponding item from the non-active side
- *
- * @return The removed item from the active side.
- */
@Override
public T remove() {
if (currentTape == null) return null;
@@ -107,9 +75,6 @@ public class TapeLibrary<T> implements Tape<T> {
return currentTape.remove();
}
- /**
- * Move the cursor to the left-most position.
- */
@Override
public void first() {
if (currentTape == null) return;
@@ -117,9 +82,6 @@ public class TapeLibrary<T> implements Tape<T> {
currentTape.first();
}
- /**
- * Move the cursor the right-most position.
- */
@Override
public void last() {
if (currentTape == null) return;
@@ -127,29 +89,11 @@ public class TapeLibrary<T> implements Tape<T> {
currentTape.last();
}
- /**
- * Move the cursor one space left.
- *
- * The cursor can't go past zero.
- *
- * @return True if the cursor was moved left.
- */
@Override
public boolean left() {
return left(1);
}
- /**
- * Move the cursor the specified amount left.
- *
- * The cursor can't go past zero. Attempts to move the cursor by amounts
- * that would exceed zero don't move the cursor at all.
- *
- * @param amt
- * The amount to attempt to move the cursor left.
- *
- * @return True if the cursor was moved left.
- */
@Override
public boolean left(final int amt) {
if (currentTape == null) return false;
@@ -157,28 +101,11 @@ public class TapeLibrary<T> implements Tape<T> {
return currentTape.left(amt);
}
- /**
- * Move the cursor one space right.
- *
- * Moving the cursor right will auto-extend the tape if that is enabled.
- *
- * @return Whether the cursor was moved right.
- */
@Override
public boolean right() {
return right(1);
}
- /**
- * Move the cursor the specified amount right.
- *
- * Moving the cursor right will auto-extend the tape if that is enabled.
- *
- * @param amt
- * The amount to move the cursor right by.
- *
- * @return Whether the cursor was moved right.
- */
@Override
public boolean right(final int amt) {
if (currentTape == null) return false;
@@ -212,7 +139,8 @@ public class TapeLibrary<T> implements Tape<T> {
/**
* Check if a tape is currently loaded.
*
- * @return Whether or not a tape is loaded.
+ * @return
+ * Whether or not a tape is loaded.
*/
public boolean isLoaded() {
return currentTape != null;
@@ -225,9 +153,10 @@ public class TapeLibrary<T> implements Tape<T> {
* tape.
*
* @param label
- * The label of the tape to load.
+ * The label of the tape to load.
*
- * @return Whether or not the next tape was loaded.
+ * @return
+ * Whether or not the next tape was loaded.
*/
public boolean switchTape(final String label) {
if (tapes.containsKey(label)) {
@@ -248,10 +177,10 @@ public class TapeLibrary<T> implements Tape<T> {
* Adding a duplicate tape will overwrite any existing types.
*
* @param label
- * The label of the tape to add.
+ * The label of the tape to add.
*
* @param tp
- * The tape to insert and load.
+ * The tape to insert and load.
*/
public void insertTape(final String label, final Tape<T> tp) {
tapes.put(label, tp);
@@ -265,9 +194,10 @@ public class TapeLibrary<T> implements Tape<T> {
* Does nothing if there is not a tape of that name loaded.
*
* @param label
- * The tape to remove.
+ * The tape to remove.
*
- * @return The removed tape.
+ * @return
+ * The removed tape.
*/
public Tape<T> removeTape(final String label) {
return tapes.remove(label);
@@ -285,7 +215,8 @@ public class TapeLibrary<T> implements Tape<T> {
/**
* Get how many tapes are currently in the library.
*
- * @return How many tapes are currently in the library.
+ * @return
+ * How many tapes are currently in the library.
*/
public int tapeCount() {
return tapes.size();
@@ -295,9 +226,10 @@ public class TapeLibrary<T> implements Tape<T> {
* Check if a specific tape is loaded into the library.
*
* @param label
- * The tape to check for.
+ * The tape to check for.
*
- * @return Whether or not a tape of that name exists
+ * @return
+ * Whether or not a tape of that name exists
*/
public boolean hasTape(final String label) {
return tapes.containsKey(label);