de.caff.generics

## Class Countable.Base<TT>

- java.lang.Object
- - de.caff.generics.Countable.Base<TT>

- Type Parameters:
    `TT` - element type
  All Implemented Interfaces:
    Countable<TT>, Sizeable, java.lang.Iterable<TT>
  Direct Known Subclasses:
    Indexable.Base
  Enclosing interface:
    Countable<T>

      public abstract static class Countable.Base<TT>
      extends java.lang.Object
      implements Countable<TT>

  Abstract base class which provides useful implementations for `Object.equals(Object)`, `Object.hashCode()`, `Object.toString()`.
  See Also:
    `Countable.asBase()`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface de.caff.generics.Countable

      `Countable.Base<TT>`

  - ### Field Summary

    - ### Fields inherited from interface de.caff.generics.Countable

      `EMPTY`

    - ### Fields inherited from interface de.caff.generics.Sizeable

      `NULL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Base()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Countable.Base<TT>` | `asBase()` Convert this into a base countable.
    `boolean` | `equals(java.lang.Object obj)`
    `int` | `hashCode()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface de.caff.generics.Countable

      `addAllTo, addToArray, asCollection, combined, combined, containsEq, containsRef, downCast, empty, equal, equals, filtered, filteredToIndexable, filterToCountable, first, firstOrNull, foldLeft, forEachFragile, freeze, fromOptional, frozen, frozen, getAny, groupingBy, groupingBy, hasAll, hasAny, isEmpty, isSorted, isStrictlySorted, last, lastOrNull, mappingBy, mappingBy, optFirst, optional, optLast, orderedCombination, parellelStream, singleton, sorted, spliterator, stream, toArray, toArray, toList, toString, uniform, view, viewArray, viewArray, viewCollection, viewCollection, viewCollectionN, viewCollectionN, viewFragile, withAppendedItem, withPrependedItem`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, iterator`

    - ### Methods inherited from interface de.caff.generics.Sizeable

      `size`

- - ### Constructor Detail

    - #### Base

          public Base()

  - ### Method Detail

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### asBase

          @NotNull
          public Countable.Base<TT> asBase()

      Description copied from interface: `Countable`
      Convert this into a base countable. Base countables have useful default implementation for `Object.equals(Object)`, `Object.hashCode()`, and `Object.toString()`.
      Specified by:
        `asBase` in interface `Countable<TT>`
      Returns:
        base indexable