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 PropertySourceAny 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 voiddefinePropertyDescriptor(PropertyDescriptor<?> propertyDescriptor)Define a new property via a PropertyDescriptor.java.lang.StringdysfunctionReason()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> TgetProperty(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.booleanhasDescriptor(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> voidsetProperty(MultiValuePropertyDescriptor<V> propertyDescriptor, V... values)Sets the value of a multi value property descriptor with a variable number of arguments.<T> voidsetProperty(PropertyDescriptor<T> propertyDescriptor, T value)Set the property value specified (will be type-checked)voiduseDefaultValueFor(PropertyDescriptor<?> desc)Clears out any user-specified value for the property allowing it to use the default value in the descriptor.booleanusesDefaultValues()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,
nullif 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
trueif the descriptor is present,falseotherwise.
-
usesDefaultValues
boolean usesDefaultValues()
Returns whether this Rule uses default values for properties.- Returns:
- boolean
trueif the properties all have default values,falseotherwise.
-
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
-
-