Interface Examinable


public interface Examinable
Something that can be examined.
  • Method Summary

    Modifier and Type Method Description
    default @NonNull java.lang.String examinableName()
    Gets the examinable name.
    default @NonNull java.util.stream.Stream<? extends ExaminableProperty> examinableProperties()
    Gets a stream of examinable properties.
    default <R> @NonNull R examine​(@NonNull Examiner<R> examiner)
    Examines.
  • Method Details

    • examinableName

      default @NonNull java.lang.String examinableName()
      Gets the examinable name.
      Returns:
      the examinable name
    • examinableProperties

      default @NonNull java.util.stream.Stream<? extends ExaminableProperty> examinableProperties()
      Gets a stream of examinable properties.
      Returns:
      a stream of examinable properties
    • examine

      default <R> @NonNull R examine​(@NonNull Examiner<R> examiner)
      Examines.

      You should not override this method.

      Type Parameters:
      R - the result type
      Parameters:
      examiner - the examiner
      Returns:
      the examination result