Package net.sourceforge.pmd.properties
Interface PropertySource
-
- All Known Subinterfaces:
CodeClimateRule
,DFAGraphRule
,Renderer
,Rule
,StatisticalRule
- All Known Implementing Classes:
AbstractAccumulatingRenderer
,AbstractDelegateRule
,AbstractIncrementingRenderer
,AbstractPropertySource
,AbstractRenderer
,AbstractRule
,CodeClimateRenderer
,CSVRenderer
,EmacsRenderer
,EmptyRenderer
,HTMLRenderer
,IDEAJRenderer
,MockRule
,RuleReference
,SummaryHTMLRenderer
,TextColorRenderer
,TextPadRenderer
,TextRenderer
,VBHTMLRenderer
,XMLRenderer
,XPathRule
,XSLTRenderer
,YAHTMLRenderer
public interface PropertySource
Any entity that manages a list of properties is aPropertySource
. These are e.g. Rules and Renderers.- Author:
- Brian Remedios
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
definePropertyDescriptor(PropertyDescriptor<?> propertyDescriptor)
Define a new property via a PropertyDescriptor.java.lang.String
dysfunctionReason()
Returns a description of why the receiver may be dysfunctional.java.util.Map<PropertyDescriptor<?>,java.lang.Object>
getPropertiesByPropertyDescriptor()
Returns all the current property values for the receiver or an immutable empty map if none are specified.<T> T
getProperty(PropertyDescriptor<T> propertyDescriptor)
Get the typed value for the given property.PropertyDescriptor<?>
getPropertyDescriptor(java.lang.String name)
Get the PropertyDescriptor for the given property name.java.util.List<PropertyDescriptor<?>>
getPropertyDescriptors()
Get the PropertyDescriptors for all defined properties.boolean
hasDescriptor(PropertyDescriptor<?> descriptor)
Returns whether this Rule has the specified PropertyDescriptor.java.util.Set<PropertyDescriptor<?>>
ignoredProperties()
Return the properties that are effectively ignored due to the configuration of the rule and values held by other properties.<V> void
setProperty(MultiValuePropertyDescriptor<V> propertyDescriptor, V... values)
Sets the value of a multi value property descriptor with a variable number of arguments.<T> void
setProperty(PropertyDescriptor<T> propertyDescriptor, T value)
Set the property value specified (will be type-checked)void
useDefaultValueFor(PropertyDescriptor<?> desc)
Clears out any user-specified value for the property allowing it to use the default value in the descriptor.boolean
usesDefaultValues()
Returns whether this Rule uses default values for properties.
-
-
-
Method Detail
-
definePropertyDescriptor
void definePropertyDescriptor(PropertyDescriptor<?> propertyDescriptor) throws java.lang.IllegalArgumentException
Define a new property via a PropertyDescriptor.- Parameters:
propertyDescriptor
- The property descriptor.- Throws:
java.lang.IllegalArgumentException
- If there is already a property defined the same name.
-
getPropertyDescriptor
PropertyDescriptor<?> getPropertyDescriptor(java.lang.String name)
Get the PropertyDescriptor for the given property name.- Parameters:
name
- The name of the property.- Returns:
- The PropertyDescriptor for the named property,
null
if there is no such property defined.
-
getPropertyDescriptors
java.util.List<PropertyDescriptor<?>> getPropertyDescriptors()
Get the PropertyDescriptors for all defined properties. The properties are returned sorted by UI order.- Returns:
- The PropertyDescriptors in UI order.
-
getProperty
<T> T getProperty(PropertyDescriptor<T> propertyDescriptor)
Get the typed value for the given property. Multi valued properties return immutable lists.- Type Parameters:
T
- The underlying type of the property descriptor.- Parameters:
propertyDescriptor
- The property descriptor.- Returns:
- The property value.
-
setProperty
<T> void setProperty(PropertyDescriptor<T> propertyDescriptor, T value)
Set the property value specified (will be type-checked)- Type Parameters:
T
- The underlying type of the property descriptor.- Parameters:
propertyDescriptor
- The property descriptor.value
- The value to set.
-
setProperty
<V> void setProperty(MultiValuePropertyDescriptor<V> propertyDescriptor, V... values)
Sets the value of a multi value property descriptor with a variable number of arguments.- Type Parameters:
V
- The type of the values- Parameters:
propertyDescriptor
- The property descriptor for which to add a valuevalues
- Values
-
getPropertiesByPropertyDescriptor
java.util.Map<PropertyDescriptor<?>,java.lang.Object> getPropertiesByPropertyDescriptor()
Returns all the current property values for the receiver or an immutable empty map if none are specified.- Returns:
- all current property values or a empty map.
-
hasDescriptor
boolean hasDescriptor(PropertyDescriptor<?> descriptor)
Returns whether this Rule has the specified PropertyDescriptor.- Parameters:
descriptor
- The PropertyDescriptor for which to check.- Returns:
- boolean
true
if the descriptor is present,false
otherwise.
-
usesDefaultValues
boolean usesDefaultValues()
Returns whether this Rule uses default values for properties.- Returns:
- boolean
true
if the properties all have default values,false
otherwise.
-
useDefaultValueFor
void useDefaultValueFor(PropertyDescriptor<?> desc)
Clears out any user-specified value for the property allowing it to use the default value in the descriptor.- Parameters:
desc
- the property to clear out
-
ignoredProperties
java.util.Set<PropertyDescriptor<?>> ignoredProperties()
Return the properties that are effectively ignored due to the configuration of the rule and values held by other properties. This can be used to disable corresponding widgets in a UI.- Returns:
- the properties that are ignored
-
dysfunctionReason
java.lang.String dysfunctionReason()
Returns a description of why the receiver may be dysfunctional. Usually due to missing property values or some kind of conflict between values. Returns null if the receiver is ok.- Returns:
- String
-
-