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 }