Skip to content

Commit

Permalink
Add missing overrides in multi-reader interfaces.
Browse files Browse the repository at this point in the history
Signed-off-by: Craig P. Motlin <cmotlin@gmail.com>
  • Loading branch information
motlin committed Aug 30, 2022
1 parent 848d09c commit 1b739e8
Show file tree
Hide file tree
Showing 6 changed files with 131 additions and 77 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,42 @@ public interface MultiReaderBag<T>
void withReadLockAndDelegate(Procedure<? super MutableBag<T>> procedure);

void withWriteLockAndDelegate(Procedure<? super MutableBag<T>> procedure);

@Override
MultiReaderBag<T> newEmpty();

@Override
default MultiReaderBag<T> with(T element)
{
this.add(element);
return this;
}

@Override
default MultiReaderBag<T> without(T element)
{
this.remove(element);
return this;
}

@Override
default MultiReaderBag<T> withAll(Iterable<? extends T> elements)
{
this.addAllIterable(elements);
return this;
}

@Override
default MultiReaderBag<T> withoutAll(Iterable<? extends T> elements)
{
this.removeAllIterable(elements);
return this;
}

@Override
default MultiReaderBag<T> tap(Procedure<? super T> procedure)
{
this.forEach(procedure);
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,49 @@ public interface MultiReaderList<T>

void withWriteLockAndDelegate(Procedure<? super MutableList<T>> procedure);

@Override
MultiReaderList<T> newEmpty();

MultiReaderList<T> clone();

@Override
MultiReaderList<T> subList(int fromIndex, int toIndex);

@Override
default MultiReaderList<T> with(T element)
{
this.add(element);
return this;
}

@Override
default MultiReaderList<T> without(T element)
{
this.remove(element);
return this;
}

@Override
default MultiReaderList<T> withAll(Iterable<? extends T> elements)
{
this.addAllIterable(elements);
return this;
}

@Override
default MultiReaderList<T> withoutAll(Iterable<? extends T> elements)
{
this.removeAllIterable(elements);
return this;
}

@Override
default MultiReaderList<T> tap(Procedure<? super T> procedure)
{
this.forEach(procedure);
return this;
}

@Override
default MultiReaderList<T> sortThis(Comparator<? super T> comparator)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,45 @@ public interface MultiReaderSet<T>
void withReadLockAndDelegate(Procedure<? super MutableSet<T>> procedure);

void withWriteLockAndDelegate(Procedure<? super MutableSet<T>> procedure);

@Override
MultiReaderSet<T> newEmpty();

@Override
MultiReaderSet<T> clone();

@Override
default MultiReaderSet<T> with(T element)
{
this.add(element);
return this;
}

@Override
default MultiReaderSet<T> without(T element)
{
this.remove(element);
return this;
}

@Override
default MultiReaderSet<T> withAll(Iterable<? extends T> elements)
{
this.addAllIterable(elements);
return this;
}

@Override
default MultiReaderSet<T> withoutAll(Iterable<? extends T> elements)
{
this.removeAllIterable(elements);
return this;
}

@Override
default MultiReaderSet<T> tap(Procedure<? super T> procedure)
{
this.forEach(procedure);
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ public <P, V> MutableBag<V> collectWith(
}

@Override
public MutableBag<T> newEmpty()
public MultiReaderBag<T> newEmpty()
{
return MultiReaderHashBag.newBag();
}
Expand All @@ -411,7 +411,7 @@ public <P> MutableBag<T> rejectWith(
}

@Override
public MutableBag<T> tap(Procedure<? super T> procedure)
public MultiReaderBag<T> tap(Procedure<? super T> procedure)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public ImmutableList<T> toImmutable()
}

@Override
public MutableList<T> clone()
public MultiReaderList<T> clone()
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand Down Expand Up @@ -322,33 +322,13 @@ public <P, V> MutableList<V> collectWith(
}

@Override
public MutableList<T> newEmpty()
public MultiReaderList<T> newEmpty()
{
return MultiReaderFastList.newList();
}

@Override
public MutableList<T> reject(Predicate<? super T> predicate)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
return this.delegate.reject(predicate);
}
}

@Override
public <P> MutableList<T> rejectWith(
Predicate2<? super T, ? super P> predicate,
P parameter)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
return this.delegate.rejectWith(predicate, parameter);
}
}

@Override
public MutableList<T> tap(Procedure<? super T> procedure)
public MultiReaderList<T> tap(Procedure<? super T> procedure)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand All @@ -357,26 +337,6 @@ public MutableList<T> tap(Procedure<? super T> procedure)
}
}

@Override
public MutableList<T> select(Predicate<? super T> predicate)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
return this.delegate.select(predicate);
}
}

@Override
public <P> MutableList<T> selectWith(
Predicate2<? super T, ? super P> predicate,
P parameter)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
return this.delegate.selectWith(predicate, parameter);
}
}

@Override
public PartitionMutableList<T> partition(Predicate<? super T> predicate)
{
Expand Down Expand Up @@ -546,7 +506,7 @@ public MultiReaderList<T> sortThisByDouble(DoubleFunction<? super T> function)
}

@Override
public MutableList<T> subList(int fromIndex, int toIndex)
public MultiReaderList<T> subList(int fromIndex, int toIndex)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ public MutableSet<T> asUnmodifiable()
}

@Override
public MutableSet<T> clone()
public MultiReaderSet<T> clone()
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand Down Expand Up @@ -313,7 +313,7 @@ public <P, V> MutableSet<V> collectWith(
}

@Override
public MutableSet<T> newEmpty()
public MultiReaderSet<T> newEmpty()
{
return MultiReaderUnifiedSet.newSet();
}
Expand All @@ -339,7 +339,7 @@ public <P> MutableSet<T> rejectWith(
}

@Override
public MutableSet<T> tap(Procedure<? super T> procedure)
public MultiReaderSet<T> tap(Procedure<? super T> procedure)
{
try (LockWrapper wrapper = this.lockWrapper.acquireReadLock())
{
Expand Down Expand Up @@ -395,34 +395,6 @@ public <S> MutableSet<S> selectInstancesOf(Class<S> clazz)
}
}

@Override
public MutableSet<T> with(T element)
{
this.add(element);
return this;
}

@Override
public MutableSet<T> without(T element)
{
this.remove(element);
return this;
}

@Override
public MutableSet<T> withAll(Iterable<? extends T> elements)
{
this.addAllIterable(elements);
return this;
}

@Override
public MutableSet<T> withoutAll(Iterable<? extends T> elements)
{
this.removeAllIterable(elements);
return this;
}

@Override
public boolean equals(Object o)
{
Expand Down

0 comments on commit 1b739e8

Please sign in to comment.