FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
OnJava8-Examples/annotations/UseCaseTracker.java at master · CSapprenticeWT/OnJava8-Examples · GitHub
CSapprenticeWT
OnJava8-Examples
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
OnJava8-Examples
/
annotations
/
UseCaseTracker.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
37 lines (36 loc) · 1.11 KB
Breadcrumbs
OnJava8-Examples
/
annotations
/
UseCaseTracker.java
Copy path
File metadata and controls
37 lines (36 loc) · 1.11 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
// annotations/UseCaseTracker.java
// (c)2021 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://OnJava8.com for more book information.
import
java
.
util
.*;
import
java
.
util
.
stream
.*;
import
java
.
lang
.
reflect
.*;
public
class
UseCaseTracker
{
public
static
void
trackUseCases
(
List
<
Integer
>
useCases
,
Class
<?>
cl
) {
for
(
Method
m
:
cl
.
getDeclaredMethods
()) {
UseCase
uc
=
m
.
getAnnotation
(
UseCase
.
class
);
if
(
uc
!=
null
) {
System
.
out
.
println
(
"Found Use Case "
+
uc
.
id
() +
"
\n
"
+
uc
.
description
());
useCases
.
remove
(
Integer
.
valueOf
(
uc
.
id
()));
}
}
useCases
.
forEach
(
i
->
System
.
out
.
println
(
"Missing use case "
+
i
));
}
public
static
void
main
(
String
[]
args
) {
List
<
Integer
>
useCases
=
IntStream
.
range
(
47
,
51
)
.
boxed
().
collect
(
Collectors
.
toList
());
trackUseCases
(
useCases
,
PasswordUtils
.
class
);
}
}
/* Output:
Found Use Case 49
New passwords can't equal previously used ones
Found Use Case 48
no description
Found Use Case 47
Passwords must contain at least one numeric
Missing use case 50
*/
Back
|
FazBrowse Home
|
New Git URL