net.sourceforge.pmd.lang.rule.properties

## Class AbstractMultiPackagedProperty<T>

- java.lang.Object
- - net.sourceforge.pmd.lang.rule.properties.AbstractProperty<T>
  - - net.sourceforge.pmd.lang.rule.properties.AbstractPackagedProperty<T>
    - - net.sourceforge.pmd.lang.rule.properties.AbstractMultiPackagedProperty<T>

Type Parameters:
  `T` -

All Implemented Interfaces:
  Comparable<PropertyDescriptor<?>>, PropertyDescriptor<T>

Direct Known Subclasses:
  MethodMultiProperty, TypeMultiProperty

    public abstract class AbstractMultiPackagedProperty<T>
    extends AbstractPackagedProperty<T>

Author:
  Brian Remedios

### Field Summary

Fields
`protected static char` `DELIMITER`

### Fields inherited from class net.sourceforge.pmd.lang.rule.properties.AbstractPackagedProperty

`packagedFieldTypesByKey`

### Constructor Summary

Constructors
`protected` `AbstractMultiPackagedProperty(String theName, String theDescription, T theDefault, String[] theLegalPackageNames, float theUIOrder)` Constructor for AbstractMultiPackagedProperty.

### Method Summary

Methods
`protected String` `defaultAsString()`
`boolean` `isMultiValue()` Returns whether the property is multi-valued, i.e. an array of strings, As unary property rule properties will return a value of one, you must use the get/setProperty accessors when working with the actual values.

### Methods inherited from class net.sourceforge.pmd.lang.rule.properties.AbstractPackagedProperty

`addAttributesTo, itemTypeName, legalPackageNames, packageNameOf, packageNamesIn, valueErrorFor`

### Methods inherited from class net.sourceforge.pmd.lang.rule.properties.AbstractProperty

`areEqual, asDelimitedString, asDelimitedString, asString, attributeValuesById, choices, compareTo, defaultHasNullValue, defaultValue, description, equals, errorFor, hashCode, isArray, isRequired, multiValueDelimiter, name, preferredRowCount, propertyErrorFor, toString, typeErrorFor, uiOrder, valuesErrorFor`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface net.sourceforge.pmd.PropertyDescriptor

`type, valueFrom`

### Field Detail

#### DELIMITER

    protected static final char DELIMITER

See Also:
  Constant Field Values

### Constructor Detail

#### AbstractMultiPackagedProperty

    protected AbstractMultiPackagedProperty(String theName,
                                 String theDescription,
                                 T theDefault,
                                 String[] theLegalPackageNames,
                                 float theUIOrder)

Constructor for AbstractMultiPackagedProperty.

Parameters:
  `theName` - String
  `theDescription` - String
  `theDefault` - T
  `theLegalPackageNames` - String[]
  `theUIOrder` - float

### Method Detail

#### isMultiValue

    public boolean isMultiValue()

Description copied from class: `AbstractProperty`
Returns whether the property is multi-valued, i.e. an array of strings, As unary property rule properties will return a value of one, you must use the get/setProperty accessors when working with the actual values. When working with multi-value properties then the get/setProperties accessors must be used.

Specified by:
  `isMultiValue` in interface `PropertyDescriptor<T>`
Overrides:
  `isMultiValue` in class `AbstractProperty<T>`
Returns:
  boolean
See Also:
  `PropertyDescriptor.isMultiValue()`

#### defaultAsString

    protected String defaultAsString()

Specified by:
  `defaultAsString` in class `AbstractProperty<T>`
Returns:
  String