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 E
defaultValue
What should be displayed when a given Bean does not have this property set.java.lang.String
propertyKey
Key of the property, to be used in the setProperty and getProperty functions on the NamedBean.
-
Constructor Summary
Constructors Modifier Constructor Description protected
NamedBeanPropertyDescriptor(java.lang.String propertyKey, E defaultValue)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Equals based on Property Key and Default value Class.abstract java.lang.String
getColumnHeaderText()
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.int
hashCode()
hashCode based on Property Key and Default value Class.abstract boolean
isEditable(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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
hashCode based on Property Key and Default value Class.- Overrides:
hashCode
in classjava.lang.Object
-
-