@startuml package com.iluwatar.multiton { class App { - LOGGER : Logger {static} + App() + main(args : String[]) {static} } class Nazgul { - name : NazgulName - nazguls : Map {static} - Nazgul(name : NazgulName) + getInstance(name : NazgulName) : Nazgul {static} + getName() : NazgulName } enum NazgulEnum { + ADUNAPHEL {static} + AKHORAHIL {static} + DWAR {static} + HOARMURATH {static} + JI_INDUR {static} + KHAMUL {static} + MURAZOR {static} + REN {static} + UVATHA {static} + valueOf(name : String) : NazgulEnum {static} + values() : NazgulEnum[] {static} } enum NazgulName { + ADUNAPHEL {static} + AKHORAHIL {static} + DWAR {static} + HOARMURATH {static} + JI_INDUR {static} + KHAMUL {static} + MURAZOR {static} + REN {static} + UVATHA {static} + valueOf(name : String) : NazgulName {static} + values() : NazgulName[] {static} } } Nazgul --> "-name" NazgulName @enduml