#1113 Add uml-reverse-mapper plugin
This commit is contained in:
54
priority-queue/etc/priority-queue.urm.puml
Normal file
54
priority-queue/etc/priority-queue.urm.puml
Normal file
@ -0,0 +1,54 @@
|
||||
@startuml
|
||||
package com.iluwatar.priority.queue {
|
||||
class Application {
|
||||
+ Application()
|
||||
+ main(args : String[]) {static}
|
||||
}
|
||||
class Message {
|
||||
- message : String
|
||||
- priority : int
|
||||
+ Message(message : String, priority : int)
|
||||
+ compareTo(o : Message) : int
|
||||
+ toString() : String
|
||||
}
|
||||
class PriorityMessageQueue<T extends Comparable> {
|
||||
- LOGGER : Logger {static}
|
||||
- capacity : int
|
||||
- queue : T[]
|
||||
- size : int
|
||||
+ PriorityMessageQueue<T extends Comparable>(queue : T[])
|
||||
+ add(t : T extends Comparable)
|
||||
- ensureCapacity()
|
||||
- hasLeftChild(index : int) : boolean
|
||||
- hasParent(index : int) : boolean
|
||||
- hasRightChild(index : int) : boolean
|
||||
+ isEmpty() : boolean
|
||||
- left(parentIndex : int) : T extends Comparable
|
||||
- leftChildIndex(parentPos : int) : int
|
||||
- maxHeapifyDown()
|
||||
- maxHeapifyUp()
|
||||
- parent(childIndex : int) : T extends Comparable
|
||||
- parentIndex(pos : int) : int
|
||||
+ print()
|
||||
+ remove() : T extends Comparable
|
||||
- right(parentIndex : int) : T extends Comparable
|
||||
- rightChildIndex(parentPos : int) : int
|
||||
- swap(fpos : int, tpos : int)
|
||||
}
|
||||
class QueueManager {
|
||||
- messagePriorityMessageQueue : PriorityMessageQueue<Message>
|
||||
+ QueueManager(initialCapacity : int)
|
||||
+ publishMessage(message : Message)
|
||||
+ receiveMessage() : Message
|
||||
}
|
||||
class Worker {
|
||||
- LOGGER : Logger {static}
|
||||
- queueManager : QueueManager
|
||||
+ Worker(queueManager : QueueManager)
|
||||
- processMessage(message : Message)
|
||||
+ run()
|
||||
}
|
||||
}
|
||||
QueueManager --> "-messagePriorityMessageQueue" PriorityMessageQueue
|
||||
Worker --> "-queueManager" QueueManager
|
||||
@enduml
|
Reference in New Issue
Block a user