
org.javimmutable.collections.hash.HashSetBuilder Maven / Gradle / Ivy
package org.javimmutable.collections.hash;
import org.javimmutable.collections.JImmutableSet;
import org.javimmutable.collections.hash.set.SetBuilder;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.ThreadSafe;
@ThreadSafe
class HashSetBuilder
implements JImmutableSet.Builder
{
private final SetBuilder builder = new SetBuilder<>();
@Nonnull
@Override
public synchronized JImmutableSet build()
{
if (builder.size() == 0) {
return JImmutableHashSet.of();
} else {
return new JImmutableHashSet<>(builder.build(), builder.getCollisionSet());
}
}
@Override
public synchronized int size()
{
return builder.size();
}
@Nonnull
@Override
public synchronized JImmutableSet.Builder add(T value)
{
builder.add(value);
return this;
}
@Nonnull
@Override
public synchronized JImmutableSet.Builder clear()
{
builder.clear();
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy