initial commit
This commit is contained in:
104
misc/uml/main.typ
Normal file
104
misc/uml/main.typ
Normal file
@@ -0,0 +1,104 @@
|
||||
#import "uml.typ"
|
||||
|
||||
#set page(width: auto, height: auto, margin: 1cm)
|
||||
|
||||
#uml.diagram({
|
||||
import uml: *
|
||||
|
||||
class("Person", abstract, {
|
||||
attr("name", "str")
|
||||
attr("phoneNumber", "str")
|
||||
attr("emailAddress", "str")
|
||||
method("purchaseParkingPass")
|
||||
})
|
||||
class("Address", {
|
||||
attr("street", "str")
|
||||
attr("city", "str")
|
||||
attr("state", "str")
|
||||
attr("postalCode", "int")
|
||||
attr("country", "str")
|
||||
method("validate", "bool", private)
|
||||
method("outputAsLabel", "str")
|
||||
})
|
||||
class("Student", {
|
||||
attr("studentNumber", "int")
|
||||
attr("averageMark", "int")
|
||||
method("isEligibleToEnroll", "bool", ("str",))
|
||||
method("getSeminarsTaken", "int")
|
||||
})
|
||||
class("Professor", {
|
||||
attr("salary", "int", package)
|
||||
attr("staffNumber", "int", protected)
|
||||
attr("yearsOfService", "int", private)
|
||||
attr("numberOfClasses", "int")
|
||||
})
|
||||
})
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#uml.diagram({
|
||||
import uml: *
|
||||
|
||||
class("Pageable", interface, {
|
||||
attr("UNKNOWN_N_OF_PAGES", "int", default: -1)
|
||||
})
|
||||
|
||||
class("SQLStatement", {
|
||||
method("executeQuery", "ResultSet", (sql: "String"))
|
||||
method("isPoolable", "Boolean")
|
||||
method("getQueryTimeout", "int")
|
||||
method("clearWarnings")
|
||||
})
|
||||
|
||||
class("SearchService", {
|
||||
attr("config", "Configuration", private)
|
||||
attr("engine", "SearchEngine", private)
|
||||
method("search", "SearchResult", (query: "SearchRequest"))
|
||||
method("createEngine", "SearchEngine", private, static)
|
||||
})
|
||||
|
||||
class("SearchService", grouped: true, {
|
||||
attr("config", "Configuration", private)
|
||||
attr("engine", "SearchEngine", private)
|
||||
method("search", "SearchResult", (query: "SearchRequest"))
|
||||
method("createEngine", "SearchEngine", private, static)
|
||||
})
|
||||
})
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#import "parser.typ": parse
|
||||
#parse(```
|
||||
@class-grouped=true
|
||||
class Button {
|
||||
-theController : Controller*
|
||||
+press() : void
|
||||
+setTheController(p : Controller*) : void
|
||||
}
|
||||
|
||||
abstract class Controller {
|
||||
-theLight : Light*
|
||||
-lampState : boolean
|
||||
+evButtonPressed() : void
|
||||
+setTheLight(p : Light*) : void
|
||||
-toggle() : void
|
||||
}
|
||||
|
||||
class Light {
|
||||
+on() : void
|
||||
+off() : void
|
||||
}
|
||||
```)
|
||||
|
||||
#pagebreak()
|
||||
|
||||
#parse(```
|
||||
class City {
|
||||
+resources: HashMap[ResourceType, Int]
|
||||
+globalHappiness: Double
|
||||
}
|
||||
|
||||
abstract class Building {
|
||||
+getResourcesOnBuilt(): HashMap[ResourceType, Int]
|
||||
}
|
||||
```)
|
Reference in New Issue
Block a user