E - Type of the valuesjava.lang.Comparable<PropertyDescriptor<?>>, EnumeratedPropertyDescriptor<E,E>, PropertyDescriptor<E>, SingleValuePropertyDescriptor<E>public final class EnumeratedProperty<E> extends java.lang.Object implements EnumeratedPropertyDescriptor<E,E>
This property currently doesn't support serialization and cannot be defined in a ruleset file.z
| Modifier and Type | Class | Description |
|---|---|---|
static class |
EnumeratedProperty.EnumPBuilder<E> |
| Constructor | Description |
|---|---|
EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.String[] theLabels,
E[] theChoices,
int defaultIndex,
float theUIOrder) |
Deprecated.
will be removed in 7.0.0.
|
EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.String[] theLabels,
E[] theChoices,
int defaultIndex,
java.lang.Class<E> valueType,
float theUIOrder) |
Deprecated.
will be removed in 7.0.0.
|
EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.util.Map<java.lang.String,E> labelsToChoices,
E defaultValue,
java.lang.Class<E> valueType,
float theUIOrder) |
Constructor using a map to define the label-value mappings.
|
| 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.
|
java.lang.String |
asString(E 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) |
|
E |
createFrom(java.lang.String value) |
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(E 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.util.Map<java.lang.String,E> |
mappings() |
Returns an immutable map of the label - value mappings defined by this descriptor.
|
java.lang.String |
name() |
The name of the property without spaces as it serves as the key into the property map.
|
static <E> EnumeratedProperty.EnumPBuilder<E> |
named(java.lang.String name) |
|
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<E> |
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, waitasDelimitedString, attributeValuesById, defaultValue, description, isDefinedExternally, isMultiValue, name, preferredRowCount, propertyErrorFor, uiOrder, valueFrom@Deprecated
public EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.String[] theLabels,
E[] theChoices,
int defaultIndex,
java.lang.Class<E> valueType,
float theUIOrder)
EnumeratedProperty(String, String, Map, Object, Class, float)theName - NametheDescription - DescriptiontheLabels - Labels of the choicestheChoices - Values that can be chosendefaultIndex - The index of the default valuevalueType - Type of the valuestheUIOrder - UI order@Deprecated
public EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.lang.String[] theLabels,
E[] theChoices,
int defaultIndex,
float theUIOrder)
EnumeratedProperty(String, String, Map, Object, Class, float)theName - NametheDescription - DescriptiontheLabels - Labels of the choicestheChoices - Values that can be chosendefaultIndex - Index of the default valuetheUIOrder - UI orderpublic EnumeratedProperty(java.lang.String theName,
java.lang.String theDescription,
java.util.Map<java.lang.String,E> labelsToChoices,
E defaultValue,
java.lang.Class<E> valueType,
float theUIOrder)
theName - NametheDescription - DescriptionlabelsToChoices - Map of labels to valuesdefaultValue - Default valuevalueType - Type of the valuestheUIOrder - UI orderpublic java.lang.Class<E> type()
PropertyDescriptortype in interface PropertyDescriptor<E>type in interface SingleValuePropertyDescriptor<E>public java.lang.String errorFor(E value)
PropertyDescriptorerrorFor in interface PropertyDescriptor<E>value - The value to check.public E createFrom(java.lang.String value) throws java.lang.IllegalArgumentException
value - String to parsejava.lang.IllegalArgumentExceptionpublic java.lang.String asString(E value)
value - The value to describepublic java.util.Map<java.lang.String,E> mappings()
EnumeratedPropertyDescriptormappings in interface EnumeratedPropertyDescriptor<E,E>public static <E> EnumeratedProperty.EnumPBuilder<E> named(java.lang.String name)
public final T defaultValue()
PropertyDescriptordefaultValue in interface PropertyDescriptor<T>public final boolean isMultiValue()
PropertyDescriptorAs 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)
PropertyDescriptorasDelimitedString in interface PropertyDescriptor<T>value - Objectpublic java.lang.String propertyErrorFor(Rule rule)
PropertyDescriptorpropertyErrorFor in interface PropertyDescriptor<T>rule - Ruleprotected java.lang.String valueErrorFor(T value)
value - Value to checkprotected final java.lang.String defaultAsString()
public final T valueFrom(java.lang.String valueString)
throws java.lang.IllegalArgumentException
PropertyDescriptorvalueFrom in interface PropertyDescriptor<T>valueString - The string to parsejava.lang.IllegalArgumentException - if the given string cannot be parsedpublic java.lang.String description()
PropertyDescriptordescription in interface PropertyDescriptor<T>public float uiOrder()
PropertyDescriptorExample:
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()
PropertyDescriptorpreferredRowCount in interface PropertyDescriptor<T>public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String name()
PropertyDescriptorname in interface PropertyDescriptor<T>public final java.util.Map<PropertyDescriptorField,java.lang.String> attributeValuesById()
PropertyDescriptorattributeValuesById in interface PropertyDescriptor<T>protected void addAttributesTo(java.util.Map<PropertyDescriptorField,java.lang.String> attributes)
PropertyDescriptorField.attributes - The map to fillpublic boolean isDefinedExternally()
PropertyDescriptorRuleSetWriter
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.