net.sourceforge.pmd
Interface PropertyDescriptor
public
interface
PropertyDescriptor
extends Comparable<PropertyDescriptor>
Property value descriptor that defines the use & requirements for setting
property values for use within PMD and any associated GUIs.
Version: $Revision$
Author: Brian Remedios
Method Summary |
String | asDelimitedString(Object value)
Formats the object onto a string suitable for storage within the property map. |
Object[][] | choices()
Returns a set of choice tuples of available, returns null if none present. |
Object | defaultValue()
Default value to use when the user hasn't specified one or when they wish
to revert to a known-good state.
|
String | description()
Describes the property and the role it plays within the
rule it is specified for. |
String | errorFor(Object value)
Validation function that returns a diagnostic error message for a sample
property value. |
boolean | isRequired()
Denotes whether the value is required before the rule can be executed.
|
int | maxValueCount()
If the property is multi-valued, i.e. an array of strings, then this
returns the maximum number permitted. |
char | multiValueDelimiter()
Return the character being used to delimit multiple property values within
a single string. |
String | name()
The name of the property without spaces as it serves
as the key into the property map.
|
int | preferredRowCount()
If the datatype is a String then return the preferred number of rows to
allocate in the text widget, returns a value of one for all other types.
|
String | propertyErrorFor(Rule rule)
A convenience method that returns an error string if the rule holds onto a
property value that has a problem. |
Class<?> | type()
Denotes the value datatype. |
float | uiOrder()
Denotes the relative order the property field should occupy if we are using
an auto-generated UI to display and edit values. |
Object | valueFrom(String propertyString)
If the property is multi-valued then return the separate values after
parsing the propertyString provided. |
public String asDelimitedString(Object value)
Formats the object onto a string suitable for storage within the property map.
Parameters: value Object
Returns: String
public Object[][] choices()
Returns a set of choice tuples of available, returns null if none present.
Returns: Object[]
public Object defaultValue()
Default value to use when the user hasn't specified one or when they wish
to revert to a known-good state.
Returns: Object
public String description()
Describes the property and the role it plays within the
rule it is specified for. Could be used in a tooltip.
Returns: String
public String errorFor(Object value)
Validation function that returns a diagnostic error message for a sample
property value. Returns null if the value is acceptable.
Parameters: value Object
Returns: String
public boolean isRequired()
Denotes whether the value is required before the rule can be executed.
Has no meaning for primitive types such as booleans, ints, etc.
Returns: boolean
public int maxValueCount()
If the property is multi-valued, i.e. an array of strings, then this
returns the maximum number permitted. Unary property rule properties
normally return a value of one.
Returns: int
public char multiValueDelimiter()
Return the character being used to delimit multiple property values within
a single string. You must ensure that this character does not appear within
any rule property values to avoid deserialization errors.
Returns: char
public String name()
The name of the property without spaces as it serves
as the key into the property map.
Returns: String
public int preferredRowCount()
If the datatype is a String then return the preferred number of rows to
allocate in the text widget, returns a value of one for all other types.
Useful for multi-line XPATH editors.
Returns: int
public String propertyErrorFor(
Rule rule)
A convenience method that returns an error string if the rule holds onto a
property value that has a problem. Returns null otherwise.
Parameters: rule Rule
Returns: String
public Class<?> type()
Denotes the value datatype.
Returns: Class
public float uiOrder()
Denotes the relative order the property field should occupy if we are using
an auto-generated UI to display and edit values. If the value returned has
a non-zero fractional part then this is can be used to place adjacent fields
on the same row. Example:
name -> 0.0
description 1.0
minValue -> 2.0
maxValue -> 2.1
..would have their fields placed like:
name: [ ]
description: [ ]
minimum: [ ] maximum: [ ]
Returns: float
public Object valueFrom(String propertyString)
If the property is multi-valued then return the separate values after
parsing the propertyString provided. If it isn't a multi-valued
property then the value will be returned within an array of size[1].
Parameters: propertyString String
Returns: Object
Throws: IllegalArgumentException