@startuml package com.iluwatar.monad { class App { - LOGGER : Logger {static} + App() + main(args : String[]) {static} } enum Sex { + FEMALE {static} + MALE {static} + valueOf(name : String) : Sex {static} + values() : Sex[] {static} } class User { - age : int - email : String - name : String - sex : Sex + User(name : String, age : int, sex : Sex, email : String) + getAge() : int + getEmail() : String + getName() : String + getSex() : Sex } class Validator { - exceptions : List - obj : T - Validator(obj : T) + get() : T + of(t : T) : Validator {static} + validate(projection : Function, validation : Predicate, message : String) : Validator + validate(validation : Predicate, message : String) : Validator } } User --> "-sex" Sex @enduml