diff options
| author | Ben Culkin <scorpress@gmail.com> | 2020-04-07 21:21:12 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2020-04-07 21:21:12 -0400 |
| commit | 780a3da69b66921fb7bf7b5779fb44830bb45ddc (patch) | |
| tree | 5589db05d3379a0a910bc9c4ed469d795d83849c /base/src/main/java/bjc/utils/esodata/DefaultList.java | |
| parent | 002516bd03b2ea3f731c8139c9a5f716902ab702 (diff) | |
Remove utils.esodata
utils.esodata now also lives in the esodata project; not here
Diffstat (limited to 'base/src/main/java/bjc/utils/esodata/DefaultList.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/esodata/DefaultList.java | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/base/src/main/java/bjc/utils/esodata/DefaultList.java b/base/src/main/java/bjc/utils/esodata/DefaultList.java deleted file mode 100644 index 4d3d1dc..0000000 --- a/base/src/main/java/bjc/utils/esodata/DefaultList.java +++ /dev/null @@ -1,116 +0,0 @@ -package bjc.utils.esodata; - -import java.util.AbstractList; -import java.util.ArrayList; -import java.util.List; - -/** - * A list that has a default value that out-of-bounds accesses return. - * - * @author Ben Culkin - * @param <ValueType> - * The type of the values contained in the list. - */ -public class DefaultList<ValueType> extends AbstractList<ValueType> { - /* - * @NOTE 9/17/18 - * - * A possible feature to add would be the ability to set a 'default - * index', so that the default value is 'whatever is at that list index' - * - * Of course, this would cause an exception if that index was out of - * bounds, but what are you going to do? - */ - - private ValueType defVal; - - private List<ValueType> backing; - - /** - * Create a new DefaultList. - */ - public DefaultList() { - this(new ArrayList<>(), null); - } - - /** - * Create a new DefaultList, with a set default value. - * - * @param defVal - * The default value for the list. - */ - public DefaultList(ValueType defVal) { - this(new ArrayList<>(), defVal); - } - - /** - * Create a new DefaultList, with a specific backing list. - * - * @param backer - * The backing list to use. - * - */ - public DefaultList(List<ValueType> backer) { - this(backer, null); - } - - /** - * Create a new DefaultList, with a set default value. - * - * @param backer - * The backing list to use. - * - * @param defVal - * The default value for the list. - */ - public DefaultList(List<ValueType> backer, ValueType defVal) { - this.defVal = defVal; - - this.backing = backer; - } - - /** - * Get the default value. - * - * @return The default value. - */ - public ValueType getDefault() { - return defVal; - } - - /** - * Set the default value. - * - * @param defVal The default value. - */ - public void setDefault(ValueType defVal) { - this.defVal = defVal; - } - - @Override - public ValueType get(int idx) { - if (idx < 0 || idx >= backing.size()) return defVal; - - return backing.get(idx); - } - - @Override - public int size() { - return backing.size(); - } - - @Override - public ValueType set(int idx, ValueType val) { - return backing.set(idx, val); - } - - @Override - public void add(int idx, ValueType val) { - backing.add(idx, val); - } - - @Override - public ValueType remove(int idx) { - return backing.remove(idx); - } -} |
