1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package de.smartics.sandbox.agile;
17
18 import de.smartics.properties.api.core.annotations.AccessType;
19 import de.smartics.properties.api.core.annotations.PropertyExpression;
20 import de.smartics.properties.api.core.annotations.PropertyIntValueRange;
21 import de.smartics.properties.api.core.annotations.PropertyKeyName;
22 import de.smartics.properties.api.core.annotations.PropertyLifecycle;
23 import de.smartics.properties.api.core.annotations.PropertySet;
24 import de.smartics.properties.api.core.annotations.PropertyLifecycle.UpdateInterval;
25 import de.smartics.properties.api.core.domain.PropertyDescriptor;
26
27
28
29
30
31
32
33 @PropertySet("agile")
34 public interface UserStoryProperties
35 {
36
37
38
39
40
41 @PropertyLifecycle(access = AccessType.READ_WRITE,
42 updateInterval = UpdateInterval.NO_CACHING)
43 String name();
44
45
46
47
48
49
50 PropertyDescriptor namePropertyDescriptor();
51
52
53
54
55
56
57 @PropertyKeyName("story-points")
58 @PropertyExpression("8")
59
60 @PropertyIntValueRange({ 0, 1, 2, 3, 5, 8, 13, 21, 50, 100 })
61
62 @PropertyLifecycle(access = AccessType.READ_WRITE,
63 updateInterval = UpdateInterval.NO_CACHING)
64 int storyPoint();
65
66
67
68
69
70
71 PropertyDescriptor storyPointPropertyDescriptor();
72
73
74
75
76
77
78 @PropertyKeyName("business-priority")
79 @PropertyExpression("required")
80 @PropertyLifecycle(access = AccessType.READ_WRITE,
81 updateInterval = UpdateInterval.NO_CACHING)
82 Priority businessPriority();
83
84
85
86
87
88
89 PropertyDescriptor businessPriorityPropertyDescriptor();
90 }