Changed Attriutes#aggregate() to return StatListGetter instead of StatList

Changed Attriutes#aggregate() to return StatListGetter instead of StatList
Unsure if this will change, but all calls require #first()
Attribute returns are all asserted to be StatLists of numLists = 1
This commit is contained in:
Collin Smith
2020-09-03 17:32:58 -07:00
parent eddd0e9b0a
commit e26b22c1ba
3 changed files with 15 additions and 9 deletions

View File

@ -16,8 +16,8 @@ public class AggregateAttributes extends Attributes {
} }
@Override @Override
public StatList aggregate() { public StatListGetter aggregate() {
return agg; return agg.first();
} }
@Override @Override

View File

@ -2,7 +2,6 @@ package com.riiablo.attributes;
import android.support.annotation.CallSuper; import android.support.annotation.CallSuper;
import java.util.Iterator; import java.util.Iterator;
import org.apache.commons.collections4.IteratorUtils;
public abstract class Attributes implements Iterable<StatGetter> { public abstract class Attributes implements Iterable<StatGetter> {
/** /**
@ -69,8 +68,8 @@ public abstract class Attributes implements Iterable<StatGetter> {
* @see #remaining() * @see #remaining()
* @see #list() * @see #list()
*/ */
public StatList aggregate() { public StatListGetter aggregate() {
return list(); return list().first();
} }
/** /**
@ -130,9 +129,6 @@ public abstract class Attributes implements Iterable<StatGetter> {
*/ */
@Override @Override
public Iterator<StatGetter> iterator() { public Iterator<StatGetter> iterator() {
final StatList agg = aggregate(); return aggregate().statIterator();
final int numLists = agg.numLists();
if (numLists < 1) return IteratorUtils.emptyIterator();
return agg.statIterator(0);
} }
} }

View File

@ -32,6 +32,16 @@ public final class StatListGetter implements Iterable<StatGetter> {
return stats.indexOf(list, stat); return stats.indexOf(list, stat);
} }
/** @see StatList#size(int) */
public int size() {
return stats.size(list);
}
/** @see StatList#isEmpty(int) */
public boolean isEmpty() {
return stats.isEmpty(list);
}
/** @see StatList#contains(int, short) */ /** @see StatList#contains(int, short) */
public boolean contains(short stat) { public boolean contains(short stat) {
return stats.contains(list, stat); return stats.contains(list, stat);