Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sourceforge.pmd
Interface PropertyDescriptor

All Superinterfaces:
  java.lang.Comparable

All Known Implementing Classes:
  AbstractPMDProperty

public interface PropertyDescriptor
extends java.lang.Comparable

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

Field Summary
`static PropertyDescriptor[]` | `emptyPropertySet`

Method Summary
`java.lang.String` | `asDelimitedString(java.lang.Object value)` Formats the object onto a string suitable for storage within the property map.
`java.lang.Object[][]` | `choices()` Returns a set of choice tuples of available, returns null if none present.
`java.lang.Object` | `defaultValue()` Default value to use when the user hasn't specified one or when they wish to revert to a known-good state.
`java.lang.String` | `description()` Describes the property and the role it plays within the rule it is specified for.
`java.lang.String` | `errorFor(java.lang.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.
`char` | `multiValueDelimiter()` Return the character being used to delimit multiple property values within a single string.
`java.lang.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.
`java.lang.String` | `propertyErrorFor(Rule rule)` A convenience method that returns an error string if the rule holds onto a property value that has a problem.
`java.lang.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.
`java.lang.Object` | `valueFrom(java.lang.String propertyString)` If the property is multi-valued then return the separate values after parsing the propertyString provided.

Methods inherited from interface java.lang.Comparable
`compareTo`

Field Detail

### emptyPropertySet

    public static final PropertyDescriptor[] emptyPropertySet

Method Detail

### name

    public java.lang.String name()

  The name of the property without spaces as it serves as the key into the property map.

  Returns:
    String

### description

    public java.lang.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

### type

    public java.lang.Class type()

  Denotes the value datatype.

  Returns:
    Class

### maxValueCount

    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

### defaultValue

    public java.lang.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

### isRequired

    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

### errorFor

    public java.lang.String errorFor(java.lang.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

### uiOrder

    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

### valueFrom

    public java.lang.Object valueFrom(java.lang.String propertyString)
                               throws java.lang.IllegalArgumentException

  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:
    `java.lang.IllegalArgumentException`

### asDelimitedString

    public java.lang.String asDelimitedString(java.lang.Object value)

  Formats the object onto a string suitable for storage within the property map.

  Parameters:
    `value` - Object
  Returns:
    String

### choices

    public java.lang.Object[][] choices()

  Returns a set of choice tuples of available, returns null if none present.

  Returns:
    Object[]

### propertyErrorFor

    public java.lang.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

### multiValueDelimiter

    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

### preferredRowCount

    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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2006 InfoEther. All Rights Reserved.