Packages

c

de.tototec.utils.functional

CanEqualsSupport

class CanEqualsSupport[T] extends AnyRef

Convenience support to easily write correct equals and hashCode methods as well as canEqual methods.

.Example [source,java] ---- class MyDataClass {

private final String a; private final Long b;

public MyDataClass(String a, Long b) { this.a = a; this.b = b; }

private static final CanEqualsSupport<MyDataClass> eq = new CanEqualsSupport<>(MyDataClass.class, (a,b) -> a.canEqual(b), c -> c.a, c -> c.b );

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CanEqualsSupport
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CanEqualsSupport(thisType: Class[T], fields: <repeated...>[F1[T, AnyRef]])

    This create a CanEqualsSupport that uses reflection to detect the canEqual method.

    This create a CanEqualsSupport that uses reflection to detect the canEqual method.

    thisType

    The type of the class to which the equals and hashCode methods belong.

    fields

    The accessor functions returning the values (fields/getters) that should be part of the equals/hashCode contract.

    Annotations
    @SafeVarargs()
  2. new CanEqualsSupport(thisType: Class[T], canEqualFunction: F2[T, T, Boolean], fields: <repeated...>[F1[T, AnyRef]])

    Annotations
    @SafeVarargs()

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def _canEqual(other: AnyRef): Boolean
  5. def _equals(me: T, other: AnyRef): Boolean
  6. def _hashCode(me: T, superHashCode: Int): Int
  7. def _hashCode(me: T): Int
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped