java.lang.Comparable<java.lang.reflect.Method>
, PackagedPropertyDescriptor<java.lang.reflect.Method>
, PropertyDescriptor<java.lang.reflect.Method>
, SingleValuePropertyDescriptor<java.lang.reflect.Method>
public final class MethodProperty
extends java.lang.Object
Rule developers can limit the rules to those within designated packages per the 'legalPackages' argument in the constructor which can be an array of partial package names, i.e., ["java.lang", "com.mycompany" ].
Modifier and Type | Class | Description |
---|---|---|
static class |
MethodProperty.MethodPBuilder |
Modifier and Type | Field | Description |
---|---|---|
protected PackagedPropertyModule<T> |
module |
MULTI_VALUE_DELIMITER, PACKAGE_NAME_DELIMITER
Constructor | Description |
---|---|
MethodProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.reflect.Method theDefault,
java.lang.String[] legalPackageNames,
float theUIOrder) |
Constructor for MethodProperty.
|
MethodProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.String defaultMethodStr,
java.lang.String[] legalPackageNames,
float theUIOrder) |
Deprecated.
will be removed in 7.0.0
|
Modifier and Type | Method | Description |
---|---|---|
protected void |
addAttributesTo(java.util.Map<PropertyDescriptorField,java.lang.String> attributes) |
Adds this property's attributes to the map.
|
java.lang.String |
asDelimitedString(T value) |
Formats the object onto a string suitable for storage within the property map.
|
protected java.lang.String |
asString(java.lang.reflect.Method value) |
Returns a string representation of the value, even if it's null.
|
java.util.Map<PropertyDescriptorField,java.lang.String> |
attributeValuesById() |
Returns a map representing all the property attributes of the receiver in string form.
|
int |
compareTo(PropertyDescriptor<?> otherProperty) |
|
java.lang.reflect.Method |
createFrom(java.lang.String valueString) |
Parse a string and returns an instance of a value.
|
protected java.lang.String |
defaultAsString() |
Returns a string representation of the default value.
|
T |
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.
|
boolean |
equals(java.lang.Object obj) |
|
java.lang.String |
errorFor(T value) |
Validation function that returns a diagnostic error message for a sample property value.
|
int |
hashCode() |
|
boolean |
isDefinedExternally() |
True if this descriptor was defined in the ruleset xml.
|
boolean |
isMultiValue() |
Returns whether the property is multi-valued, i.e.
|
java.lang.String[] |
legalPackageNames() |
Returns the legal package names.
|
java.lang.String |
name() |
The name of the property without spaces as it serves as the key into the property map.
|
static MethodProperty.MethodPBuilder |
named(java.lang.String name) |
|
protected java.lang.String[] |
packageNamesIn(java.util.Map<PropertyDescriptorField,java.lang.String> params) |
|
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.String |
toString() |
|
java.lang.Class<java.lang.reflect.Method> |
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 property values.
|
protected java.lang.String |
valueErrorFor(T value) |
Checks the value for an error.
|
T |
valueFrom(java.lang.String valueString) |
Returns the value represented by this string.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asDelimitedString, attributeValuesById, defaultValue, description, errorFor, isDefinedExternally, isMultiValue, name, preferredRowCount, propertyErrorFor, uiOrder, valueFrom
protected final PackagedPropertyModule<T> module
public MethodProperty(java.lang.String theName, java.lang.String theDescription, java.lang.reflect.Method theDefault, java.lang.String[] legalPackageNames, float theUIOrder)
theName
- Name of the propertytheDescription
- DescriptiontheDefault
- Default valuelegalPackageNames
- Legal packagestheUIOrder
- UI orderpublic MethodProperty(java.lang.String theName, java.lang.String theDescription, java.lang.String defaultMethodStr, java.lang.String[] legalPackageNames, float theUIOrder)
theName
- Name of the propertytheDescription
- DescriptiondefaultMethodStr
- Default value, that will be parsed into a Method objectlegalPackageNames
- Legal packagestheUIOrder
- UI orderprotected java.lang.String asString(java.lang.reflect.Method value)
value
- The value to describepublic java.lang.Class<java.lang.reflect.Method> type()
PropertyDescriptor
public java.lang.reflect.Method createFrom(java.lang.String valueString) throws java.lang.IllegalArgumentException
valueString
- String to parsejava.lang.IllegalArgumentException
public static MethodProperty.MethodPBuilder named(java.lang.String name)
protected void addAttributesTo(java.util.Map<PropertyDescriptorField,java.lang.String> attributes)
PropertyDescriptorField
.attributes
- The map to fillprotected java.lang.String valueErrorFor(T value)
value
- Value to checkpublic java.lang.String[] legalPackageNames()
PackagedPropertyDescriptor
legalPackageNames
in interface PackagedPropertyDescriptor<T>
protected java.lang.String[] packageNamesIn(java.util.Map<PropertyDescriptorField,java.lang.String> params)
public final T defaultValue()
PropertyDescriptor
defaultValue
in interface PropertyDescriptor<T>
public final boolean isMultiValue()
PropertyDescriptor
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.
isMultiValue
in interface PropertyDescriptor<T>
public java.lang.String asDelimitedString(T value)
PropertyDescriptor
asDelimitedString
in interface PropertyDescriptor<T>
value
- Objectpublic java.lang.String propertyErrorFor(Rule rule)
PropertyDescriptor
propertyErrorFor
in interface PropertyDescriptor<T>
rule
- Rulepublic java.lang.String errorFor(T value)
PropertyDescriptor
errorFor
in interface PropertyDescriptor<T>
value
- The value to check.protected final java.lang.String defaultAsString()
public final T valueFrom(java.lang.String valueString) throws java.lang.IllegalArgumentException
PropertyDescriptor
valueFrom
in interface PropertyDescriptor<T>
valueString
- The string to parsejava.lang.IllegalArgumentException
- if the given string cannot be parsedpublic java.lang.String description()
PropertyDescriptor
description
in interface PropertyDescriptor<T>
public float uiOrder()
PropertyDescriptor
Example:
name -> 0.0 description 1.0 minValue -> 2.0 maxValue -> 2.1
name: [ ] description: [ ] minimum: [ ] maximum: [ ]
uiOrder
in interface PropertyDescriptor<T>
public final int compareTo(PropertyDescriptor<?> otherProperty)
compareTo
in interface java.lang.Comparable<T>
public int preferredRowCount()
PropertyDescriptor
preferredRowCount
in interface PropertyDescriptor<T>
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String name()
PropertyDescriptor
name
in interface PropertyDescriptor<T>
public final java.util.Map<PropertyDescriptorField,java.lang.String> attributeValuesById()
PropertyDescriptor
attributeValuesById
in interface PropertyDescriptor<T>
public boolean isDefinedExternally()
PropertyDescriptor
RuleSetWriter
to write out the property correctly: if it was defined externally, then its definition must be written out,
otherwise only its value.isDefinedExternally
in interface PropertyDescriptor<T>
Copyright © 2002–2018 PMD. All rights reserved.