Class BreakableIterable.AbstractBuilder<B extends BreakableIterable.AbstractBuilder<B,C,E>,C extends BreakableIterable<E>,E>

java.lang.Object
org.soliscode.test.breakable.BreakableIterable.AbstractBuilder<B,C,E>
Type Parameters:
B - builder type
C - the subclass of BreakableIterable
E - element type
Direct Known Subclasses:
BreakableCollection.AbstractBuilder, BreakableIterable.Builder
Enclosing class:
BreakableIterable<E>

protected abstract static class BreakableIterable.AbstractBuilder<B extends BreakableIterable.AbstractBuilder<B,C,E>,C extends BreakableIterable<E>,E> extends Object
Utility class for use by subclasses of BreakableIterator to make implementing a builder class easier.
Since:
1.0
Author:
evanbergstrom
  • Field Details

    • elements

      @NotNull protected final @NotNull Collection<E> elements
    • breaks

      @NotNull protected final @NotNull Set<Break> breaks
    • unsupportedMethods

      @NotNull protected final @NotNull Set<OptionalMethod> unsupportedMethods
    • characteristics

      protected int characteristics
  • Constructor Details

    • AbstractBuilder

      public AbstractBuilder()
    • AbstractBuilder

      public AbstractBuilder(@NotNull @NotNull Collection<E> elements)
    • AbstractBuilder

      protected AbstractBuilder(@NotNull @NotNull BreakableIterable.AbstractBuilder<B,C,E> other)
  • Method Details

    • self

      public abstract B self()
    • copy

      public abstract B copy()
    • build

      public abstract C build()
    • addBreak

      public final B addBreak(@NotNull @NotNull Break aBreak)
    • setCharacteristics

      public final B setCharacteristics(int characteristics)
    • addElements

      public final B addElements(@NotNull @NotNull Iterable<E> i)
    • addElements

      @SafeVarargs public final B addElements(E... e)
    • doesNotSupport

      public final B doesNotSupport(@NotNull @NotNull OptionalMethod method)