Class Install4JPropertyDescriptor
- Direct Known Subclasses:
 ActionListPropertyDescriptor,FilePropertyDescriptor,ScriptPropertyDescriptor
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
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringDefault category used by install4j.static final StringSpecial context for properties of typeAnchorthat tells the install4j GUI to offer only the corner values of the anchor (north-west, north-east, south-west, south-east).static final StringSpecial context for properties of typeAnchorthat tells the install4j GUI to offer only the horizontal values of the anchor (west, center, east).static final StringSpecial context for properties of typeAnchorthat tells the install4j GUI to offer only the side values of the anchor (north, west, east, south).static final StringSpecial context for properties of typeAnchorthat tells the install4j GUI to offer only the vertical values of the anchor (north, center, south).static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of an installation component.static final StringSpecial context for properties of typejava.util.Datethat tells the install4j GUI to offer a time editor besides the default date editor as well.static final StringSame asCONTEXT_COMPONENT_ID, but only downloaded installation components are selectable.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a form component.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to allow the user to enter an HTML document in a separate editor with syntax coloring and preview functionality.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a launcher.static final StringSame asCONTEXT_LAUNCHER_ID, but with an additional "[Other executable]" entry that sets the id property to null.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to allow the user to enter multi-line strings in a separate dialog.static final StringSpecial context for properties of typejava.lang.Stringandjava.io.Filethat tells the install4j GUI not to offer installer variables in the text field for the property.static final StringSame asCONTEXT_LAUNCHER_ID, but service launchers are not selectable.static final StringSame asCONTEXT_LAUNCHER_ID, but only service launchers are selectable.static final StringSpecial context for properties of typejava.util.LinkedHashMapthat tells the install4j GUI that the map contains string keys and values and to offer a suitable converter and property customizer.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a style.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as an installer variable name.static final StringSpecial context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a widget style. - 
Method Summary
Modifier and TypeMethodDescriptionstatic Install4JPropertyDescriptorstatic Install4JPropertyDescriptorcreate(String propertyName, Class beanClass, String displayName, String shortDescription, String context) Create a property descriptor that can be passed toInstall4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor).static Install4JPropertyDescriptorcreateNested(String propertyName, Class beanClass) static Install4JPropertyDescriptorcreateNested(String propertyName, String nestedBeanCategory, Class beanClass) static Install4JPropertyDescriptorcreateNested(String propertyName, String nestedBeanCategory, Class beanClass, PropertyFilter propertyFilter) Create a property descriptor for a nested bean that can be passed toInstall4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor).setActionListHiddenKeys(String[] hiddenKeys) Hide this property if the bean is shown in the configuration of an action list property whose configured action keys contain one of the specified strings.setActionListShownKeys(String[] shownKeys) Show this property only if the bean is shown in the configuration of an action list property whose configured action keys contain one of the specified strings.setAllowTextOverride(boolean allowTextOverride) Allow the user to switch to text mode in the context menu when editing the property in the install4j IDE.setContext(String editorContext) Set the context for the property.voidsetDisplayName(String displayName) setEmptyMessage(String message) If the value isnullor empty, display a special text in a shaded color in the install4j IDE.Do not show this property if the bean is shown in the configuration of the action list.setNestedBean(boolean nestedBean) Mark a property as a nested bean.setNestedBeanCategory(String category) Set the category for properties of the nested bean.setNestedBeanPropertyFilter(PropertyFilter propertyFilter) Set a propertyFilter for properties of the nested bean.setParentProperty(String parentProperty) Set the parent property under which this property should be shown in the install4j IDE.voidsetPreferred(boolean preferred) Highlight a property as important.setPropertyCategory(String propertyCategory) Configures the property category.Set a property change listener that is invoked when the property is changed in the IDE.setSortKey(Integer sortKey) Set an integer key by which properties are sorted.setSuggestedValues(String[] values) Enable auto-completion of a list of values when using the text field property editor in the install4j IDE.setVariableValueClass(Class variableClass) Set the class of the variable value, ifCONTEXT_VARIABLE_NAMEis set.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, setWriteMethodMethods inherited from class java.beans.FeatureDescriptor
attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setExpert, setHidden, setName, setShortDescription, setValue, toString 
- 
Field Details
- 
ATTRIBUTE_PROPERTY_CATEGORY
- See Also:
 
 - 
CATEGORY_CONFIGURATION
Default category used by install4j.- See Also:
 
 - 
ATTRIBUTE_CONTEXT
- See Also:
 
 - 
CONTEXT_LAUNCHER_ID
Special context for properties of typejava.lang.Stringthat 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:
 
 - 
CONTEXT_LAUNCHER_ID_OR_OTHER
Same asCONTEXT_LAUNCHER_ID, but with an additional "[Other executable]" entry that sets the id property to null.- See Also:
 
 - 
CONTEXT_NON_SERVICE_LAUNCHER_ID
Same asCONTEXT_LAUNCHER_ID, but service launchers are not selectable.- See Also:
 
 - 
CONTEXT_SERVICE_LAUNCHER_ID
Same asCONTEXT_LAUNCHER_ID, but only service launchers are selectable.- See Also:
 
 - 
CONTEXT_COMPONENT_ID
Special context for properties of typejava.lang.Stringthat 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:
 
 - 
CONTEXT_FORM_COMPONENT_ID
Special context for properties of typejava.lang.Stringthat 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:
 
 - 
CONTEXT_STYLE_ID
Special context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a style. This is useful for screen style implementations that need to refer to other user-selectable screen styles, for example, for nesting them. In the property panel, a drop-down list of all defined screen styles will be shown.- See Also:
 
 - 
CONTEXT_DOWNLOADABLE_COMPONENT_ID
Same asCONTEXT_COMPONENT_ID, but only downloaded installation components are selectable.- See Also:
 
 - 
CONTEXT_MULTILINE
Special context for properties of typejava.lang.Stringthat tells the install4j GUI to allow the user to enter multi-line strings in a separate dialog.- See Also:
 
 - 
CONTEXT_HTML
Special context for properties of typejava.lang.Stringthat 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:
 
 - 
CONTEXT_DATETIME
Special context for properties of typejava.util.Datethat tells the install4j GUI to offer a time editor besides the default date editor as well.- See Also:
 
 - 
CONTEXT_VARIABLE_NAME
Special context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as an installer variable name. The user will be offered a selector to choose pre-defined installer variables.This context can also be applied to properties of type
java.lang.String[]so that the variable selector in the edit dialog inserts installer variable names without the replacement syntax.- See Also:
 
 - 
CONTEXT_NO_INSTALLER_VARIABLES
Special context for properties of typejava.lang.Stringandjava.io.Filethat tells the install4j GUI not to offer installer variables in the text field for the property.- See Also:
 
 - 
CONTEXT_STRING_TO_STRING_MAP
Special context for properties of typejava.util.LinkedHashMapthat tells the install4j GUI that the map contains string keys and values and to offer a suitable converter and property customizer.- See Also:
 
 - 
CONTEXT_ANCHOR_CORNERS
Special context for properties of typeAnchorthat tells the install4j GUI to offer only the corner values of the anchor (north-west, north-east, south-west, south-east).- See Also:
 
 - 
CONTEXT_ANCHOR_SIDES
Special context for properties of typeAnchorthat tells the install4j GUI to offer only the side values of the anchor (north, west, east, south).- See Also:
 
 - 
CONTEXT_ANCHOR_HORIZONTAL
Special context for properties of typeAnchorthat tells the install4j GUI to offer only the horizontal values of the anchor (west, center, east).- See Also:
 
 - 
CONTEXT_ANCHOR_VERTICAL
Special context for properties of typeAnchorthat tells the install4j GUI to offer only the vertical values of the anchor (north, center, south).- See Also:
 
 - 
CONTEXT_WIDGET_STYLE_ID
Special context for properties of typejava.lang.Stringthat tells the install4j GUI to treat the string value as the ID of a widget style. In the property panel, a drop-down list of all defined widget sets will be shown.As a special value, the empty string denotes the widget style for the current screen style.
Widget style IDS are useful if you construct Swing components yourself in code and want to apply a widget style to them. You can pass widget set IDs to the
applyStyle...methods inFormEnvironmentto apply the widget style to a Swing component that you have constructed yourself.- See Also:
 
 - 
ATTRIBUTE_SORT_KEY
- See Also:
 
 - 
ATTRIBUTE_PROPERTY_CHANGE_LISTENER
- See Also:
 
 - 
ATTRIBUTE_PARENT_PROPERTY
- See Also:
 
 - 
ATTRIBUTE_VARIABLE_VALUE_CLASS
- See Also:
 
 - 
ATTRIBUTE_VISIBILITY_DISCRIMINATOR
- See Also:
 
 - 
ATTRIBUTE_ACTION_LIST_HIDDEN_KEYS
- See Also:
 
 - 
ATTRIBUTE_ACTION_LIST_SHOWN_KEYS
- See Also:
 
 - 
ATTRIBUTE_ALLOW_TEXT_OVERRIDE
- See Also:
 
 - 
ATTRIBUTE_EMPTY_MESSAGE
- See Also:
 
 - 
ATTRIBUTE_SUGGESTED_VALUES
- See Also:
 
 - 
ATTRIBUTE_NESTED_BEAN
- See Also:
 
 - 
ATTRIBUTE_NESTED_BEAN_CATEGORY
- See Also:
 
 - 
ATTRIBUTE_NESTED_BEAN_PROPERTY_FILTER
- See Also:
 
 
 - 
 - 
Method Details
- 
create
public static Install4JPropertyDescriptor create(String propertyName, Class beanClass, String displayName, String shortDescription)  - 
create
public static Install4JPropertyDescriptor create(String propertyName, Class beanClass, String displayName, String shortDescription, String context) Create a property descriptor that can be passed toInstall4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor).- Parameters:
 propertyName- the name of the propertybeanClass- the class of the bean that contains the property. Note: This is not the class of the property.displayName- the display name of the propertyshortDescription- 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 specifying different editors for the same property types. See theCONTEXT_*properties for the built-in contexts. This context is also used for enumerated properties in theEnumerationMapper. For properties of typeString[], you can pass an item name as the context.- Returns:
 - the property descriptor
 
 - 
createNested
 - 
createNested
public static Install4JPropertyDescriptor createNested(String propertyName, String nestedBeanCategory, Class beanClass)  - 
createNested
public static Install4JPropertyDescriptor createNested(String propertyName, String nestedBeanCategory, Class beanClass, PropertyFilter propertyFilter) Create a property descriptor for a nested bean that can be passed toInstall4JBeanInfo.addPropertyDescriptor(Install4JPropertyDescriptor).Note that nested bean values must always be non-null.
- Parameters:
 propertyName- the name of the propertynestedBeanCategory- the category in which the properties of the nested bean will be shownbeanClass- the class of the bean that contains the property. Note: This is not the class of the property.- Returns:
 - the property descriptor
 - See Also:
 
 - 
setContext
Set the context for the property.- Parameters:
 editorContext- the context- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setPropertyCategory
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
- Overrides:
 setDisplayNamein classFeatureDescriptor
 - 
setSortKey
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:
 
 - 
setVariableValueClass
Set the class of the variable value, ifCONTEXT_VARIABLE_NAMEis 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
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
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 ifsetParentProperty(String)has been called for this property descriptor. Note that for a boolean parent property, a default visibility discriminator is set that hides children if the user selection of the parent property isfalse.- Parameters:
 visibilityDiscriminator- the visibility discriminator- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setActionListHiddenKeys
Hide this property if the bean is shown in the configuration of an action list property whose configured action keys contain one of the specified strings.- Parameters:
 hiddenKeys- an array with the contexts of theActionListproperty for which the property should be hidden. If one of the array elements isnull, the property is always hidden in action lists.- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setActionListShownKeys
Show this property only if the bean is shown in the configuration of an action list property whose configured action keys contain one of the specified strings.- Parameters:
 shownKeys- an array with the contexts of theActionListproperty for which the property should be shown.- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setHiddenInActionLists
Do not show this property if the bean is shown in the configuration of the action list. Equivalent to a call tosetActionListHiddenContexts(new String[] {null})- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setAllowTextOverride
Allow the user to switch to text mode in the context menu when editing the property in the install4j IDE. This only has an effect for non-String properties. In the getter of the property, you have to call one of thereplaceWithTextOverridemethods inAbstractBean- Parameters:
 allowTextOverride- if text mode should be available- Returns:
 this, for chained calls on this property descriptor- See Also:
 
 - 
setEmptyMessage
If the value isnullor empty, display a special text in a shaded color in the install4j IDE. This only has an effect for properties of typejava.lang.String,java.lang.String[]andjava.io.File.- Parameters:
 message- the message- Returns:
 this, for chained calls on this property descriptor
 - 
setSuggestedValues
Enable auto-completion of a list of values when using the text field property editor in the install4j IDE. This only has an effect for properties of typejava.lang.String.- Parameters:
 values- the values that should be auto-completed.- Returns:
 this, for chained calls on this property descriptor
 - 
setNestedBean
Mark a property as a nested bean. The type of the property must be a bean type, i.e., a class with a BeanInfo of its own. In the install4j IDE, the properties of that type will be expanded inline in the property table.Visibility discriminator,property categoryandparent propertythat are configured for this instance, are applied to all properties of the nested bean. Nesting works recursively.- Parameters:
 nestedBean- if the property is a nested bean- Returns:
 this, for chained calls on this property descriptor
 - 
setNestedBeanCategory
Set the category for properties of the nested bean. Only relevant ifsetNestedBean(boolean)has been called withtrue.- Parameters:
 category- the category in which the properties of the nested bean will be shown- Returns:
 this, for chained calls on this property descriptor
 - 
setNestedBeanPropertyFilter
Set a propertyFilter for properties of the nested bean. Only relevant ifsetNestedBean(boolean)has been called withtrue.- Parameters:
 propertyFilter- only show properties of the nested bean for which the propertyFilter returnstrue.- Returns:
 this, for chained calls on this property descriptor
 - 
setPreferred
public void setPreferred(boolean preferred) Highlight a property as important. If set, the property name is shown in bold font in the IDE.- Overrides:
 setPreferredin classFeatureDescriptor- Parameters:
 preferred- whether to show the property in bold font or not.
 
 -