Install4JPropertyDescriptor (install4j API)
Date: 2010-09-29

Overview | Package | Class | Tree | Deprecated | Index | Help
| install4j API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.install4j.api.beaninfo
Class Install4JPropertyDescriptor

    java.lang.Object
      java.beans.FeatureDescriptor
          java.beans.PropertyDescriptor
              com.install4j.api.beaninfo.Install4JPropertyDescriptor

Direct Known Subclasses:
  FilePropertyDescriptor, ScriptPropertyDescriptor

    public class Install4JPropertyDescriptor

extends java.beans.PropertyDescriptor

Property descriptor for use in instances of `Install4JBeanInfo`. For file and script properties, derived classes are available.

Using this class is not strictly required. In principle, you could also set values for the `ATTRIBUTE_*` constants in the property descriptor of an unrelated property descriptor class.

Field Summary
`static java.lang.String` | `ATTRIBUTE_CONTEXT`
`static java.lang.String` | `ATTRIBUTE_PARENT_PROPERTY`
`static java.lang.String` | `ATTRIBUTE_PROPERTY_CATEGORY`
`static java.lang.String` | `ATTRIBUTE_PROPERTY_CHANGE_LISTENER`
`static java.lang.String` | `ATTRIBUTE_SORT_KEY`
`static java.lang.String` | `ATTRIBUTE_VARIABLE_VALUE_CLASS`
`static java.lang.String` | `ATTRIBUTE_VISIBILITY_DISCRIMINATOR`
`static java.lang.String` | `CATEGORY_CONFIGURATION` Default category used by install4j.
`static java.lang.String` | `CONTEXT_ANCHOR_CORNERS` Special context for properties of type `Anchor` that tells the install4j GUI to offer only the corner values of the anchor (north-west, north-east, south-west, south-east).
`static java.lang.String` | `CONTEXT_ANCHOR_HORIZONTAL` Special context for properties of type `Anchor` that tells the install4j GUI to offer only the horizontal values of the anchor (west, center, east).
`static java.lang.String` | `CONTEXT_ANCHOR_SIDES` Special context for properties of type `Anchor` that tells the install4j GUI to offer only the side values of the anchor (north, west, east, south).
`static java.lang.String` | `CONTEXT_ANCHOR_VERTICAL` Special context for properties of type `Anchor` that tells the install4j GUI to offer only the vertical values of the anchor (north, center, south).
`static java.lang.String` | `CONTEXT_COMPONENT_ID` Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of an installation component.
`static java.lang.String` | `CONTEXT_DATETIME` Special context for properties of type `java.util.Date` that tells the install4j GUI to offer a time editor besides the default date editor as well.
`static java.lang.String` | `CONTEXT_DOWNLOADABLE_COMPONENT_ID` Same as `CONTEXT_COMPONENT_ID`, but only downloaded installation components are selectable.
`static java.lang.String` | `CONTEXT_FORM_COMPONENT_ID` Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of a form component.
`static java.lang.String` | `CONTEXT_HTML` Special context for properties of type `java.lang.String` that tells the install4j GUI to allow the user to enter an HTML document in a separate editor with syntax coloring and preview functionality.
`static java.lang.String` | `CONTEXT_LAUNCHER_ID` Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of a launcher.
`static java.lang.String` | `CONTEXT_MULTILINE` Special context for properties of type `java.lang.String` that tells the install4j GUI to allow the user to enter multi-line strings in a separate dialog.
`static java.lang.String` | `CONTEXT_NO_INSTALLER_VARIABLES` Special context for properties of type `java.lang.String` that tells the install4j GUI not to offer installer variables in the text field for the property.
`static java.lang.String` | `CONTEXT_NON_SERVICE_LAUNCHER_ID` Same as `CONTEXT_LAUNCHER_ID`, but service launchers are not selectable.
`static java.lang.String` | `CONTEXT_SERVICE_LAUNCHER_ID` Same as `CONTEXT_LAUNCHER_ID`, but only service launchers are selectable.
`static java.lang.String` | `CONTEXT_STRING_TO_STRING_MAP` Special context for properties of type `java.util.LinkedHashMap` that tells the install4j GUI that the map contains string keys and values and to offer a suitable converter and property customizer.
`static java.lang.String` | `CONTEXT_VARIABLE_NAME` Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as a installer variable name.

Method Summary
`static Install4JPropertyDescriptor` | `create(java.lang.String propertyName, java.lang.Class beanClass, java.lang.String displayName, java.lang.String shortDescription)` Same as `create(String, Class, String, String, String)` with a `context` of `null`.
`static Install4JPropertyDescriptor` | `create(java.lang.String propertyName, java.lang.Class beanClass, java.lang.String displayName, java.lang.String shortDescription, java.lang.String context)` Create a property descriptor that can be passed to `Install4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor)`.
`Install4JPropertyDescriptor` | `setContext(java.lang.String editorContext)` Set the context for the property.
`void` | `setDisplayName(java.lang.String displayName)`
`Install4JPropertyDescriptor` | `setParentProperty(java.lang.String parentProperty)` Set the parent property under which this property should be shown in the install4j IDE.
`Install4JPropertyDescriptor` | `setPropertyCategory(java.lang.String propertyCategory)` Configures the property category.
`Install4JPropertyDescriptor` | `setPropertyChangeListener(java.beans.PropertyChangeListener listener)` Set a property change listener that is invoked when the property is changed in the IDE.
`Install4JPropertyDescriptor` | `setSortKey(java.lang.Integer sortKey)` Set an integer key by which properties are sorted.
`Install4JPropertyDescriptor` | `setVariableValueClass(java.lang.Class variableClass)` Set the class of the variable value, if `CONTEXT_VARIABLE_NAME` is set.
`Install4JPropertyDescriptor` | `setVisibilityDiscriminator(VisibilityDiscriminator visibilityDiscriminator)` Sets a visibility discriminator for this property.

Methods inherited from class java.beans.PropertyDescriptor
`createPropertyEditor, equals, getPropertyEditorClass, getPropertyType, getReadMethod, getWriteMethod, hashCode, isBound, isConstrained, setBound, setConstrained, setPropertyEditorClass, setReadMethod, setWriteMethod`

Methods inherited from class java.beans.FeatureDescriptor
`attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ATTRIBUTE_PROPERTY_CATEGORY

    public static final java.lang.String ATTRIBUTE_PROPERTY_CATEGORY

See Also:
  `setPropertyCategory(String)`, Constant Field Values

### CATEGORY_CONFIGURATION

    public static final java.lang.String CATEGORY_CONFIGURATION

  Default category used by install4j.

  See Also:
    Constant Field Values

### ATTRIBUTE_CONTEXT

    public static final java.lang.String ATTRIBUTE_CONTEXT

See Also:
  `create(String, Class, String, String, String)`, Constant Field Values

### CONTEXT_LAUNCHER_ID

    public static final java.lang.String CONTEXT_LAUNCHER_ID

  Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of a launcher. In the property panel, a drop-down list of all defined launchers will be shown.

  See Also:
    Constant Field Values

### CONTEXT_NON_SERVICE_LAUNCHER_ID

    public static final java.lang.String CONTEXT_NON_SERVICE_LAUNCHER_ID

  Same as `CONTEXT_LAUNCHER_ID`, but service launchers are not selectable.

  See Also:
    Constant Field Values

### CONTEXT_SERVICE_LAUNCHER_ID

    public static final java.lang.String CONTEXT_SERVICE_LAUNCHER_ID

  Same as `CONTEXT_LAUNCHER_ID`, but only service launchers are selectable.

  See Also:
    Constant Field Values

### CONTEXT_COMPONENT_ID

    public static final java.lang.String CONTEXT_COMPONENT_ID

  Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of an installation component. In the property panel, a drop-down list of all defined installation components will be shown.

  See Also:
    Constant Field Values

### CONTEXT_FORM_COMPONENT_ID

    public static final java.lang.String CONTEXT_FORM_COMPONENT_ID

  Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as the ID of a form component. This is only relevant for properties of form components. In the property panel, a drop-down list of all defined form components in the current screen will be shown. Layout groups and the currently edited form component will not be shown.

  See Also:
    Constant Field Values

### CONTEXT_DOWNLOADABLE_COMPONENT_ID

    public static final java.lang.String CONTEXT_DOWNLOADABLE_COMPONENT_ID

  Same as `CONTEXT_COMPONENT_ID`, but only downloaded installation components are selectable.

  See Also:
    Constant Field Values

### CONTEXT_MULTILINE

    public static final java.lang.String CONTEXT_MULTILINE

  Special context for properties of type `java.lang.String` that tells the install4j GUI to allow the user to enter multi-line strings in a separate dialog.

  See Also:
    Constant Field Values

### CONTEXT_HTML

    public static final java.lang.String CONTEXT_HTML

  Special context for properties of type `java.lang.String` that tells the install4j GUI to allow the user to enter an HTML document in a separate editor with syntax coloring and preview functionality.

  See Also:
    Constant Field Values

### CONTEXT_DATETIME

    public static final java.lang.String CONTEXT_DATETIME

  Special context for properties of type `java.util.Date` that tells the install4j GUI to offer a time editor besides the default date editor as well.

  See Also:
    Constant Field Values

### CONTEXT_VARIABLE_NAME

    public static final java.lang.String CONTEXT_VARIABLE_NAME

  Special context for properties of type `java.lang.String` that tells the install4j GUI to treat the string value as a installer variable name. The user will be offered a selector to choose pre-defined installer variables.

  See Also:
    Constant Field Values

### CONTEXT_NO_INSTALLER_VARIABLES

    public static final java.lang.String CONTEXT_NO_INSTALLER_VARIABLES

  Special context for properties of type `java.lang.String` that tells the install4j GUI not to offer installer variables in the text field for the property.

  See Also:
    Constant Field Values

### CONTEXT_STRING_TO_STRING_MAP

    public static final java.lang.String CONTEXT_STRING_TO_STRING_MAP

  Special context for properties of type `java.util.LinkedHashMap` that tells the install4j GUI that the map contains string keys and values and to offer a suitable converter and property customizer.

  See Also:
    Constant Field Values

### CONTEXT_ANCHOR_CORNERS

    public static final java.lang.String CONTEXT_ANCHOR_CORNERS

  Special context for properties of type `Anchor` that tells the install4j GUI to offer only the corner values of the anchor (north-west, north-east, south-west, south-east).

  See Also:
    Constant Field Values

### CONTEXT_ANCHOR_SIDES

    public static final java.lang.String CONTEXT_ANCHOR_SIDES

  Special context for properties of type `Anchor` that tells the install4j GUI to offer only the side values of the anchor (north, west, east, south).

  See Also:
    Constant Field Values

### CONTEXT_ANCHOR_HORIZONTAL

    public static final java.lang.String CONTEXT_ANCHOR_HORIZONTAL

  Special context for properties of type `Anchor` that tells the install4j GUI to offer only the horizontal values of the anchor (west, center, east).

  See Also:
    Constant Field Values

### CONTEXT_ANCHOR_VERTICAL

    public static final java.lang.String CONTEXT_ANCHOR_VERTICAL

  Special context for properties of type `Anchor` that tells the install4j GUI to offer only the vertical values of the anchor (north, center, south).

  See Also:
    Constant Field Values

### ATTRIBUTE_SORT_KEY

    public static final java.lang.String ATTRIBUTE_SORT_KEY

See Also:
  `setSortKey(Integer)`, Constant Field Values

### ATTRIBUTE_PROPERTY_CHANGE_LISTENER

    public static final java.lang.String ATTRIBUTE_PROPERTY_CHANGE_LISTENER

See Also:
  `setPropertyChangeListener(java.beans.PropertyChangeListener)`, Constant Field Values

### ATTRIBUTE_PARENT_PROPERTY

    public static final java.lang.String ATTRIBUTE_PARENT_PROPERTY

See Also:
  `setParentProperty(String)`, Constant Field Values

### ATTRIBUTE_VARIABLE_VALUE_CLASS

    public static final java.lang.String ATTRIBUTE_VARIABLE_VALUE_CLASS

See Also:
  `setVariableValueClass(Class)`, Constant Field Values

### ATTRIBUTE_VISIBILITY_DISCRIMINATOR

    public static final java.lang.String ATTRIBUTE_VISIBILITY_DISCRIMINATOR

See Also:
  `setVisibilityDiscriminator(VisibilityDiscriminator)`, Constant Field Values

Method Detail

### create

    public static Install4JPropertyDescriptor create(java.lang.String propertyName,
                                                     java.lang.Class beanClass,
                                                     java.lang.String displayName,
                                                     java.lang.String shortDescription)

  Same as `create(String, Class, String, String, String)` with a `context` of `null`.

### create

    public static Install4JPropertyDescriptor create(java.lang.String propertyName,
                                                     java.lang.Class beanClass,
                                                     java.lang.String displayName,
                                                     java.lang.String shortDescription,
                                                     java.lang.String context)

  Create a property descriptor that can be passed to `Install4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor)`.

  Parameters:
    `propertyName` - the name of the property
    `beanClass` - the class of the bean that contains the property. Note: This is not the class of the property.
    `displayName` - the display name of the property
    `shortDescription` - a short description of the property in HTML format. You do not have to start the description with <html>, it will be prepended automatically.
    `context` - the context of the property. The context allows to specify different editors for the same property types. See the `CONTEXT_*` properties for the built-in contexts. This context is also used for enumerated properties in the `EnumerationMapper`. For properties of type `String[]`, you can pass an item name as the context.
  Returns:
    the property descriptor

### setContext

    public Install4JPropertyDescriptor setContext(java.lang.String editorContext)

  Set the context for the property.

  Parameters:
    `editorContext` - the context
  Returns:
    `this`, for chained calls on this property descriptor
  See Also:
    `for an explanation of the context.`

### setPropertyCategory

    public Install4JPropertyDescriptor setPropertyCategory(java.lang.String propertyCategory)

  Configures the property category. In the install4j GUI, properties are grouped by their categories. If no category has been specified, the default "Configuration" category is used.

  You can collapse certain categories by default with the `Install4JBeanInfo.setCollapsedPropertyCategories(String[])` method.

  Parameters:
    `propertyCategory` - the category
  Returns:
    `this`, for chained calls on this property descriptor

### setDisplayName

    public void setDisplayName(java.lang.String displayName)

  Overrides:
    `setDisplayName` in class `java.beans.FeatureDescriptor`

### setSortKey

    public Install4JPropertyDescriptor setSortKey(java.lang.Integer sortKey)

  Set an integer key by which properties are sorted. If no sort keys are specified, the properties will be sorted in the order they were added to the bean info.

  Parameters:
    `sortKey` - the sort key
  Returns:
    `this`, for chained calls on this property descriptor
  See Also:
    `Install4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor)`

### setVariableValueClass

    public Install4JPropertyDescriptor setVariableValueClass(java.lang.Class variableClass)

  Set the class of the variable value, if `CONTEXT_VARIABLE_NAME` is set. This information is displayed in the install4j IDE.

  Parameters:
    `variableClass` - the class of the variable value
  Returns:
    `this`, for chained calls on this property descriptor

### setPropertyChangeListener

    public Install4JPropertyDescriptor setPropertyChangeListener(java.beans.PropertyChangeListener listener)

  Set a property change listener that is invoked when the property is changed in the IDE. The source of the change event is the bean itself.

  Parameters:
    `listener` - the listener
  Returns:
    `this`, for chained calls on this property descriptor

### setParentProperty

    public Install4JPropertyDescriptor setParentProperty(java.lang.String parentProperty)

  Set the parent property under which this property should be shown in the install4j IDE. The property sheet is a tree table and each property can have child nodes. By assigning parent properties, you can build up a tree-like structure in the property sheet.

  For boolean properties, only descendant properties are only shown if the boolean value of the property is selected as `true`. If the user selection is false, all descendant properties will be hidden. If the selection is changed to true, all descendant properties will be shown.

  Parameters:
    `parentProperty` - the name of the parent property
  Returns:
    `this`, for chained calls on this property descriptor

### setVisibilityDiscriminator

    public Install4JPropertyDescriptor setVisibilityDiscriminator(VisibilityDiscriminator visibilityDiscriminator)

  Sets a visibility discriminator for this property. This only makes sense if `setParentProperty(String)` has been called for this property descriptor. Note that for a boolean parent properties, a default visibility discriminator is set that hides children if the user selection of the parent property is `false<`.

  Parameters:
    `visibilityDiscriminator` - the visibility discriminator
  Returns:
    `this`, for chained calls on this property descriptor
  See Also:
    `VisibilityDiscriminator`

Overview | Package | Class | Tree | Deprecated | Index | Help
| install4j API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD