View Javadoc

1   /*
2    * Copyright 2012 smartics, Kronseder & Reiner GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package de.smartics.sandbox.agile;
17  
18  import de.smartics.properties.api.core.annotations.PropertyExpression;
19  import de.smartics.properties.api.core.annotations.PropertyIntValueRange;
20  import de.smartics.properties.api.core.annotations.PropertyKeyName;
21  import de.smartics.properties.api.core.annotations.PropertySet;
22  import de.smartics.properties.api.core.domain.PropertyDescriptor;
23  
24  /**
25   * The example features an artificial enumeration of properties of a user story.
26   * <p>
27   * Just a paragraph to test.
28   * </p>
29   */
30  @PropertySet("agile")
31  public interface UserStoryProperties
32  {
33    /**
34     * The name of a user story.
35     *
36     * @return the property value.
37     */
38    String name();
39  
40    /**
41     * The descriptor of the name property.
42     *
43     * @return descriptor of the name property.
44     */
45    PropertyDescriptor namePropertyDescriptor();
46  
47    /**
48     * The story point stating the estimated work to implement the story.
49     *
50     * @return the property value.
51     */
52    @PropertyKeyName("story-points")
53    @PropertyExpression("8")
54    // CHECKSTYLE:OFF
55    @PropertyIntValueRange({ 0, 1, 2, 3, 5, 8, 13, 21, 50, 100 })
56    // CHECKSTYLE:ON
57    int storyPoint();
58  
59    /**
60     * The descriptor of the story point property.
61     *
62     * @return descriptor of the story point property.
63     */
64    PropertyDescriptor storyPointPropertyDescriptor();
65  
66    /**
67     * The business priority of the user story.
68     *
69     * @return the property value.
70     */
71    @PropertyKeyName("business-priority")
72    @PropertyExpression("required")
73    Priority businessPriority();
74  
75    /**
76     * The descriptor of the business priority property.
77     *
78     * @return descriptor of the business priority property.
79     */
80    PropertyDescriptor businessPriorityPropertyDescriptor();
81  }