Index

D E H I T 
All Classes and Interfaces|All Packages

D

dk.cloudcreate.essentials.immutable - module dk.cloudcreate.essentials.immutable
 
dk.cloudcreate.essentials.immutable - package dk.cloudcreate.essentials.immutable
 
dk.cloudcreate.essentials.immutable.annotations - package dk.cloudcreate.essentials.immutable.annotations
 

E

equals(Object) - Method in class dk.cloudcreate.essentials.immutable.ImmutableValueObject
The logic of ImmutableValueObject.equals(Object) follows the standard approach where we don't accept subclasses of a type, we only accept the exact same type.
All fields without the Exclude.EqualsAndHashCode annotation with be included in the equals operation.
The fields are sorted alphabetically (ascending order) and values from the two objects being compared one by one.
As soon a difference in field values is identified the comparison is stopped (to avoid wasting CPU cycles) and the result is returned.
Exclude - Interface in dk.cloudcreate.essentials.immutable.annotations
 
Exclude.EqualsAndHashCode - Annotation Interface in dk.cloudcreate.essentials.immutable.annotations
 
Exclude.ToString - Annotation Interface in dk.cloudcreate.essentials.immutable.annotations
 

H

hashCode() - Method in class dk.cloudcreate.essentials.immutable.ImmutableValueObject
All fields without the Exclude.EqualsAndHashCode annotation with be included the calculation of the hash-code.
The fields are sorted alphabetically (ascending order) and the hash-code will be calculated in the order of the fields names.
The algorithm for calculating the hashcode follows the Objects#hash(Object...) method.

I

Immutable - Interface in dk.cloudcreate.essentials.immutable
Marker interface that's shared by all immutable data types defined in this project, such as ImmutableValueObject.
ImmutableValueObject - Class in dk.cloudcreate.essentials.immutable
The base type ImmutableValueObject supports creating immutable (i.e. an object where its values cannot change after object instantiation/creation) Value Object
The core feature set of ImmutableValueObject is that it provides default implementations for ImmutableValueObject.toString(), ImmutableValueObject.equals(Object) and ImmutableValueObject.hashCode(), but you're always free to override this and provide your own implementation.

Example:
ImmutableValueObject() - Constructor for class dk.cloudcreate.essentials.immutable.ImmutableValueObject
 

T

toString() - Method in class dk.cloudcreate.essentials.immutable.ImmutableValueObject
All fields without the Exclude.ToString annotation with be included in the output.
The fields are sorted alphabetically (ascending order) and then grouped into fields with and without value.
We will first output non-null fields (in alphabetically order) and finally null fields (in alphabetically order)

Example:
D E H I T 
All Classes and Interfaces|All Packages