Clover coverage report - PMD - 3.9 Coverage timestamp: Tue Dec 19 2006 09:38:44 EST FRAMES NO FRAMES |
file stats: | LOC: | 133 |  | Methods: | 0
| NCLOC: | 18 |  | Classes: | 1
Source file | Conditionals | Statements | Methods | TOTAL
PropertyDescriptor.java | - | - | - | - |

1 |  | package net.sourceforge.pmd;
2 |  |
3 |  |
4 |  | /**
5 |  | * Property value descriptor that defines the use & requirements for setting
6 |  | * property values for use within PMD and any associated GUIs.
7 |  | *
8 |  | * @author Brian Remedios
9 |  | * @version $Revision$
10 |  | */
11 |  | public interface PropertyDescriptor extends Comparable {
12 |  |
13 |  | PropertyDescriptor[] emptyPropertySet = new PropertyDescriptor[0];
14 |  |
15 |  | /**
16 |  | * The name of the property without spaces as it serves
17 |  | * as the key into the property map.
18 |  | *
19 |  | * @return String
20 |  | */
21 |  | String name();
22 |  | /**
23 |  | * Describes the property and the role it plays within the
24 |  | * rule it is specified for. Could be used in a tooltip.
25 |  | *
26 |  | * @return String
27 |  | */
28 |  | String description();
29 |  | /**
30 |  | * Denotes the value datatype.
31 |  | * @return Class
32 |  | */
33 |  | Class type();
34 |  | /**
35 |  | * If the property is multi-valued, i.e. an array of strings, then this
36 |  | * returns the maximum number permitted. Unary property rule properties
37 |  | * normally return a value of one.
38 |  | *
39 |  | * @return int
40 |  | */
41 |  | int maxValueCount();
42 |  | /**
43 |  | * Default value to use when the user hasn't specified one or when they wish
44 |  | * to revert to a known-good state.
45 |  | *
46 |  | * @return Object
47 |  | */
48 |  | Object defaultValue();
49 |  | /**
50 |  | * Denotes whether the value is required before the rule can be executed.
51 |  | * Has no meaning for primitive types such as booleans, ints, etc.
52 |  | *
53 |  | * @return boolean
54 |  | */
55 |  | boolean isRequired();
56 |  | /**
57 |  | * Validation function that returns a diagnostic error message for a sample
58 |  | * property value. Returns null if the value is acceptable.
59 |  | *
60 |  | * @param value Object
61 |  | * @return String
62 |  | */
63 |  | String errorFor(Object value);
64 |  | /**
65 |  | * Denotes the relative order the property field should occupy if we are using
66 |  | * an auto-generated UI to display and edit values. If the value returned has
67 |  | * a non-zero fractional part then this is can be used to place adjacent fields
68 |  | * on the same row. Example:
69 |  | *
70 |  | * name -> 0.0
71 |  | * description 1.0
72 |  | * minValue -> 2.0
73 |  | * maxValue -> 2.1
74 |  | *
75 |  | * ..would have their fields placed like:
76 |  | *
77 |  | * name: [ ]
78 |  | * description: [ ]
79 |  | * minimum: [ ] maximum: [ ]
80 |  | *
81 |  | * @return float
82 |  | */
83 |  | float uiOrder();
84 |  | /**
85 |  | * If the property is multi-valued then return the separate values after
86 |  | * parsing the propertyString provided. If it isn't a multi-valued
87 |  | * property then the value will be returned within an array of size[1].
88 |  | *
89 |  | * @param propertyString String
90 |  | * @return Object
91 |  | * @throws IllegalArgumentException
92 |  | */
93 |  | Object valueFrom(String propertyString) throws IllegalArgumentException;
94 |  | /**
95 |  | * Formats the object onto a string suitable for storage within the property map.
96 |  | * @param value Object
97 |  | * @return String
98 |  | */
99 |  | String asDelimitedString(Object value);
100 |  |
101 |  | /**
102 |  | * Returns a set of choice tuples of available, returns null if none present.
103 |  | * @return Object[]
104 |  | */
105 |  | Object[][] choices();
106 |  |
107 |  | /**
108 |  | * A convenience method that returns an error string if the rule holds onto a
109 |  | * property value that has a problem. Returns null otherwise.
110 |  | *
111 |  | * @param rule Rule
112 |  | * @return String
113 |  | */
114 |  | String propertyErrorFor(Rule rule);
115 |  |
116 |  | /**
117 |  | * Return the character being used to delimit multiple property values within
118 |  | * a single string. You must ensure that this character does not appear within
119 |  | * any rule property values to avoid deserialization errors.
120 |  | *
121 |  | * @return char
122 |  | */
123 |  | char multiValueDelimiter();
124 |  |
125 |  | /**
126 |  | * If the datatype is a String then return the preferred number of rows to
127 |  | * allocate in the text widget, returns a value of one for all other types.
128 |  | * Useful for multi-line XPATH editors.
129 |  | *
130 |  | * @return int
131 |  | */
132 |  | int preferredRowCount();
133 |  | }