-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
69 lines (41 loc) · 2.86 KB
/
Solution.java
File metadata and controls
69 lines (41 loc) · 2.86 KB
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
//Marvel not that I said unto thee, Ye must be born again. (John 3:7)
package com.javarush.task.task38.task3812;
/*
Обработка аннотаций
*/
public class Solution {
static PrepareMyTest classes;
public static void main(String[] args) {
printFullyQualifiedNames(Solution.class);
printFullyQualifiedNames(SomeTest.class);
printValues(Solution.class);
printValues(SomeTest.class);
}
public static boolean printFullyQualifiedNames(Class c) {
if (!c.isAnnotationPresent(PrepareMyTest.class)) {return false;}
classes = (PrepareMyTest)c.getAnnotation(PrepareMyTest.class);
for (String string : classes.fullyQualifiedNames()) {
System.out.println(string);
}
return true;
}
public static boolean printValues(Class c) {
if (!c.isAnnotationPresent(PrepareMyTest.class)) {return false;}
classes = (PrepareMyTest)c.getAnnotation(PrepareMyTest.class);
for (Class clazz : classes.value()) {
System.out.println(clazz.getSimpleName());
}
return true;
}
}
/*
Обработка аннотаций
В классе Solution необходимо реализовать простейшую обработку аннотаций.
В методы printFullyQualifiedNames и printValues приходит класс. Если этот класс отмечен аннотацией PrepareMyTest, необходимо вывести на экран fullyQualifiedNames и values в соответствующих методах и вернуть true. Если же аннотация PrepareMyTest отсутствует - вернуть false.
Для вывода на экран классов из массива value используй сокращенное имя (getSimpleName).
Требования:
1. Метод printFullyQualifiedNames должен возвращать false в случае, если переданный в качестве параметра класс не отмечен аннотацией @PrepareMyTest.
2. Метод printValues должен возвращать false в случае, если переданный в качестве параметра класс не отмечен аннотацией @PrepareMyTest.
3. Метод printFullyQualifiedNames должен выводить на экран все элементы массива fullyQualifiedValues, и возвращать true, если полученный класс отмечен аннотацией @PrepareMyTest.
4. Метод printValues должен выводить на экран все элементы массива value используя их сокращенное имя, и возвращать true, если полученный класс отмечен аннотацией @PrepareMyTest.
*/