@startuml
' package definition
package "com.bitplan.graph" {
class Hierarchy {
- String rootType
- List links
- Map linksByName
- boolean linkViaEdges
+ void setLinkViaEdges(boolean)
+ boolean isLinkViaEdges()
+ Hierarchy()
+ void setRootType(String)
+ String getRootType()
+ List getLinks()
+ Link getLink(String)
+ void addLink(Link)
+ void addRelation(String, String, String, String)
+ void addUpRelation(String, String, String)
+ void addRelations(String, String, String, String...)
+ void addUpRelations(String, String, String...)
+ List getChildLinks(String)
+ void showDebug()
}
class "Hierarchy.Link" as Link {
+ String name
+ String parentType
+ String parentRole
+ String childRole
+ String childType
+ Direction direction
+ Link(String, String, String, String, Direction)
+ static String makeLinkName(String, String, String, Direction)
}
enum "Hierarchy.Direction" as Direction {
OUT
IN
}
Hierarchy "1" *-- "*" Link : contains
Link ..> Direction : direction
@enduml