forked from ZipCodeCore/FinalGroupProjects-Java
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathZipTubeUML.puml
127 lines (114 loc) · 1.64 KB
/
ZipTubeUML.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
@startuml
'https://plantuml.com/class-diagram
'
'abstract class AbstractList
'abstract AbstractCollection
'interface List
'interface Collection
'
'List <|-- AbstractList
'Collection <|-- AbstractCollection
'
'Collection <|- List
'AbstractCollection <|- AbstractList
'AbstractList <|-- ArrayList
class Video {
Long videoId
String title
int length
int viewCount
String description
Date videoPosted
@oneToMany
column commentId
List<Tags>
getVideoId()
setVideoId()
getTitle()
setTitle()
getViewCount()
incrementViewCount()
getDescription()
setDescription()
getDatePosted()
setDatePosted()
selectVideo()
startVideo()
pauseVideo()
stopVideo()
postVideo()
autoPlayVideo()
addTag()
}
class Display {
String settings
String volume
fullScreen()
theaterModeScreen()
changeVolume()
}
User <-- Admin
User <-- BasicUser
Abstract class User{
Long userId;
String email;
String userName;
String password;
String firstName;
String lastName;
getUserId()
setUserId()
getEmail()
setEmail()
getUserName()
setUserName
getPassword()
setPassword()
getFirstName()
setFirstName()
getLastName()
setLastName()
commentOnVideo()
likeVideo()
dislikeVideo()
@oneToMany
column commentId
}
class Admin{
List<Video> postedVideos;
showAllVideos()
deleteVideo()
banUser()
}
class BasicUser {
List<Video> likedVideos;
List<Video> postedVideos;
showUserVideos()
deleteVideo()
uploadVideo()
}
class Comment {
Long commentId;
String text
Date datePosted
@ManyToOne
column videoId
@ManyToOne
column userId
getCommentId()
setCommentId()
submitComment()
getCommentDate()
setCommentDate()
likeComment()
dislikeComment()
}
class Tags {
Object[] elementData
}
enum VideoStatus {
PUBLIC
PRIVATE
UNLISTED
}
@enduml