de.caff.generics

## Class Subject.Base<TT>

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

- All Implemented Interfaces:
    Subject<TT>
  Enclosing interface:
    Subject<T>

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

- - ### Nested Class Summary

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

      `Subject.Base<TT>`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected TT` | `object`
    `protected java.lang.Class<TT>` | `type`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Base(TT object, java.lang.Class<TT> type)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)`
    `protected abstract boolean` | `isEqualTo(TT other)`
    `TT` | `substituted()` Get the substituted object.
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### object

          @NotNull
          protected final TT object

    - #### type

          protected final java.lang.Class<TT> type

  - ### Constructor Detail

    - #### Base

          public Base(@NotNull
                      TT object,
                      @NotNull
                      java.lang.Class<TT> type)

  - ### Method Detail

    - #### substituted

          @NotNull
          public TT substituted()

      Description copied from interface: `Subject`
      Get the substituted object.
      Specified by:
        `substituted` in interface `Subject<TT>`
      Returns:
        substituted object

    - #### isEqualTo

          protected abstract boolean isEqualTo(@NotNull
                                               TT other)

    - #### 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`