41 lines
911 B
Plaintext
41 lines
911 B
Plaintext
@startuml
|
|
package com.iluwatar.composite {
|
|
class App {
|
|
- LOGGER : Logger {static}
|
|
+ App()
|
|
+ main(args : String[]) {static}
|
|
}
|
|
class Letter {
|
|
- character : char
|
|
+ Letter(c : char)
|
|
# printThisBefore()
|
|
}
|
|
abstract class LetterComposite {
|
|
- children : List<LetterComposite>
|
|
+ LetterComposite()
|
|
+ add(letter : LetterComposite)
|
|
+ count() : int
|
|
+ print()
|
|
# printThisAfter()
|
|
# printThisBefore()
|
|
}
|
|
class Messenger {
|
|
+ Messenger()
|
|
~ messageFromElves() : LetterComposite
|
|
~ messageFromOrcs() : LetterComposite
|
|
}
|
|
class Sentence {
|
|
+ Sentence(words : List<Word>)
|
|
# printThisAfter()
|
|
}
|
|
class Word {
|
|
+ Word(letters : List<Letter>)
|
|
+ Word(letters : char[])
|
|
# printThisBefore()
|
|
}
|
|
}
|
|
LetterComposite --> "-children" LetterComposite
|
|
Letter --|> LetterComposite
|
|
Sentence --|> LetterComposite
|
|
Word --|> LetterComposite
|
|
@enduml |