PropertyCustomizer (install4j API)
Description: declaration: package: com.install4j.api.beaninfo, interface: PropertyCustomizer

# Interface PropertyCustomizer

public interface PropertyCustomizer
Customizer component for a property that is used in a dialog. Implementing classes must extend `Component`. A Property customizer is specified in a `property converter`. Property converters are registered on a per-bean basis with `Install4JBeanInfo.setPropertyConverters(PropertyConverter[])`.

See Also:
  - `PropertyConverter.getPropertyCustomizerClass()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancel()`
  Called if the property customizer dialog is exited with the Cancel button.
  `boolean`
  `isModified()`
  Called by the install4j IDE when the dialog is closed to determine if the user has made any modifications.
  `boolean`
  `ok()`
  Called if the property customizer dialog is exited with the OK button.
  `void`
  `setParentWindow(Window window)`
  Called by the install4j IDE after the property customizer is initialized and sets the parent window.
  `void`
  `setValue(Object value, Bean bean)`
  Sets the property value and the bean.

- ## Method Details

  - ### setValue

    void setValue(Object value, Bean bean)
    Sets the property value and the bean. The install4j IDE will call this method just before the property customizer dialog is shown.
    Parameters:
      `value` - the property value
      `bean` - the bean

  - ### ok

    boolean ok()
    Called if the property customizer dialog is exited with the OK button. If the user input is not valid, you can return `false` in order to prevent the dialog from closing. You should display a warning message in that case.
    Returns:
      if the dialog should be closed

  - ### cancel

    void cancel()
    Called if the property customizer dialog is exited with the Cancel button. If you have already modified the bean, you should revert it to its original state.

  - ### isModified

    boolean isModified()
    Called by the install4j IDE when the dialog is closed to determine if the user has made any modifications.
    Returns:
      `true` if modified

  - ### setParentWindow

    void setParentWindow(Window window)
    Called by the install4j IDE after the property customizer is initialized and sets the parent window.
    Parameters:
      `window` - the parent window