Package jmri
Class NamedBeanPropertyDescriptor<E>
- java.lang.Object
-
- jmri.NamedBeanPropertyDescriptor<E>
-
- Type Parameters:
E- class of describer, e.g. Boolean.class
- Direct Known Subclasses:
BooleanPropertyDescriptor,SelectionPropertyDescriptor
public abstract class NamedBeanPropertyDescriptor<E> extends java.lang.Object
Describes metadata about a given property key for a NamedBean.This metadata is used by the BeanTable actions to display and edit the properties in question.
-
-
Field Summary
Fields Modifier and Type Field Description EdefaultValueWhat should be displayed when a given Bean does not have this property set.java.lang.StringpropertyKeyKey of the property, to be used in the setProperty and getProperty functions on the NamedBean.
-
Constructor Summary
Constructors Modifier Constructor Description protectedNamedBeanPropertyDescriptor(java.lang.String propertyKey, E defaultValue)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)Equals based on Property Key and Default value Class.abstract java.lang.StringgetColumnHeaderText()Return user-visible text to render as a column header for the BeanTable representing this setting.java.lang.Class<?>getValueClass()Get the Class of the property.inthashCode()hashCode based on Property Key and Default value Class.abstract booleanisEditable(NamedBean bean)Determines whether this property is editable.
-
-
-
Field Detail
-
propertyKey
public final java.lang.String propertyKey
Key of the property, to be used in the setProperty and getProperty functions on the NamedBean.
-
defaultValue
public final E defaultValue
What should be displayed when a given Bean does not have this property set.
-
-
Constructor Detail
-
NamedBeanPropertyDescriptor
protected NamedBeanPropertyDescriptor(@Nonnull java.lang.String propertyKey, @Nonnull E defaultValue)
-
-
Method Detail
-
getColumnHeaderText
public abstract java.lang.String getColumnHeaderText()
Return user-visible text to render as a column header for the BeanTable representing this setting.- Returns:
- localized string
-
isEditable
public abstract boolean isEditable(NamedBean bean)
Determines whether this property is editable.- Parameters:
bean- the Bean object of the given row.- Returns:
- true for editable, false for disabled.
-
getValueClass
public java.lang.Class<?> getValueClass()
Get the Class of the property.This class is used to find a matching Renderer for the BeanTable column to display and edit the value of this property. For example returning Boolean.class will show a checkbox.
- Returns:
- Class for the property values.
-
equals
public boolean equals(java.lang.Object obj)
Equals based on Property Key and Default value Class.- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
hashCode based on Property Key and Default value Class.- Overrides:
hashCodein classjava.lang.Object
-
-