Class PasswordProperty

java.lang.Object
ca.corbett.extras.properties.AbstractProperty
ca.corbett.extras.properties.PasswordProperty

public class PasswordProperty extends AbstractProperty
A property to represent a password, which should by default be hidden in the UI. This is very similar to a ShortTextProperty, except that the password is not shown in the UI unless explicitly revealed.

IMPORTANT NOTE: This is an unusual property implementation in one key respect - the current value of this property (that is, the actual password), will NOT be saved to properties by default. This is for security reasons, as the properties file is not encrypted, and we generally don't want to have passwords stored in plain text. You can override this with the setPasswordSavedToProps() method, if you are okay with storing passwords in your properties file. Otherwise, this property will only remember basic things about itself (number of columns, whether or not to allow blank values, and so on).

Suggestion: add a checkbox in your UI to allow the user to make this choice. The checked state of that checkbox should be handed to setPasswordSavedToProps() before properties are saved.

Since:
swing-extras 2.5
Author:
scorbo2
  • Field Details

    • password

      protected String password
    • isAllowBlank

      protected boolean isAllowBlank
    • columns

      protected int columns
    • isPasswordSavedToProps

      protected boolean isPasswordSavedToProps
  • Constructor Details

    • PasswordProperty

      public PasswordProperty(String name, String label)
  • Method Details

    • setPassword

      public PasswordProperty setPassword(String password)
    • getPassword

      public String getPassword()
    • setAllowBlank

      public PasswordProperty setAllowBlank(boolean allow)
    • isAllowBlank

      public boolean isAllowBlank()
    • setColumns

      public PasswordProperty setColumns(int cols)
    • getColumns

      public int getColumns()
    • setPasswordSavedToProps

      public PasswordProperty setPasswordSavedToProps(boolean isSaved)
    • isPasswordSavedToProps

      public boolean isPasswordSavedToProps()
    • saveToProps

      public void saveToProps(Properties props)
      Description copied from class: AbstractProperty
      Saves the current value(s) of this property to the given Properties instance.
      Specified by:
      saveToProps in class AbstractProperty
      Parameters:
      props - Any Properties instance which will receive the value(s) of this property.
    • loadFromProps

      public void loadFromProps(Properties props)
      Description copied from class: AbstractProperty
      Loads the value(s) for this property from the given Properties instance, overwriting any current value. The current value of this property will be used as a default value in the event that this property does not exist in the given Properties instance.
      Specified by:
      loadFromProps in class AbstractProperty
      Parameters:
      props - Any Properties instance which contains value(s) for this property.
    • generateFormFieldImpl

      protected FormField generateFormFieldImpl()
      Description copied from class: AbstractProperty
      Descendant classes must implement this method to generate a FormField associated with this property. The generateFormField() method in this class will call this abstract method to create the FormField, which will then be augmented with our fully qualified name, read-only state, help text, and extra attributes.
      Specified by:
      generateFormFieldImpl in class AbstractProperty
      Returns:
      A FormField associated with this property.
    • loadFromFormField

      public void loadFromFormField(FormField field)
      Description copied from class: AbstractProperty
      Populates this Property's value(s) from the given form field, assuming the field is of the correct type.
      Specified by:
      loadFromFormField in class AbstractProperty
      Parameters:
      field - The FormField containing a value for this property.