package at.yawk.numaec;
import org.eclipse.collections.api.ShortIterable;
import org.eclipse.collections.api.factory.list.primitive.MutableShortListFactory;
public class MutableShortBufferListFactory implements MutableShortListFactory {
private final LargeByteBufferAllocator allocator;
private MutableShortBufferListFactory(LargeByteBufferAllocator allocator) {
this.allocator = allocator;
}
public static MutableShortBufferListFactory withAllocator(LargeByteBufferAllocator allocator) {
return new MutableShortBufferListFactory(allocator);
}
@Override
public MutableShortBufferList empty() {
return new ShortBufferListImpl.Mutable(allocator);
}
public MutableShortBufferList emptyWithInitialCapacity(int initialCapacity) {
return new ShortBufferListImpl.Mutable(allocator, initialCapacity);
}
@Override
public MutableShortBufferList of() {
return empty();
}
@Override
public MutableShortBufferList with() {
return empty();
}
@Override
public MutableShortBufferList of(short... items) {
MutableShortBufferList list = emptyWithInitialCapacity(items.length);
list.addAll(items);
return list;
}
@Override
public MutableShortBufferList with(short... items) {
return of(items);
}
@Override
public MutableShortBufferList ofAll(ShortIterable items) {
MutableShortBufferList list = emptyWithInitialCapacity(items.size());
list.addAll(items);
return list;
}
@Override
public MutableShortBufferList withAll(ShortIterable items) {
return ofAll(items);
}
@Override
public MutableShortBufferList ofAll(Iterable<Short> iterable) {
MutableShortBufferList list = of();
for (Short element : iterable) {
list.add(element);
}
return list;
}
@Override
public MutableShortBufferList withAll(Iterable<Short> iterable) {
return ofAll(iterable);
}
}