# Package `com.install4j.api.beans`

This package contains the base classes for all extension points in install4j as well as special property classes.

See the [API overview](../../api.md) for general remarks on
how to use the install4j API.

The specific interfaces of
[screens](../screens/package-summary.md),
[actions](../actions/package-summary.md),
[form components](../formcomponents/package-summary.md) and
[styles](../styles/package-summary.md)
all implement the [`Bean`](Bean.md) marker interface.

All abstract base classes for
[screens](../screens/package-summary.md),
[actions](../actions/package-summary.md),
[form components](../formcomponents/package-summary.md) and
[styles](../styles/package-summary.md)
extend the [`AbstractBean`](AbstractBean.md) class that offers utility methods
for replacing variables in user-configured property values.

This package also includes classes for property types of beans that are specially handled by install4j.

## Types

| Type | Kind | Description |
|---|---|---|
| [AbstractBean](AbstractBean.md) | class | Common base class for all abstract superclasses for beans that are handled by install4j. |
| [ActionList](ActionList.md) | class | Property type for a configurable list of actions. |
| [Anchor](Anchor.md) | enum | Property type for an anchor. |
| [Bean](Bean.md) | interface | Common interface for all types of beans that are handled by install4j. |
| [ErrorHandlingCallback](ErrorHandlingCallback.md) | interface | Callback for deciding how an error should be handled. |
| [ErrorHandlingMode](ErrorHandlingMode.md) | enum | Indicates the action that should be taken after an error has occurred. |
| [ExternalFile](ExternalFile.md) | class | Property type for files from outside the distribution tree to be used in beans. |
| [LocalizedExternalFile](LocalizedExternalFile.md) | class | Container for a set of localized files that represent a single [`ExternalFile`](ExternalFile.md) with textual content. |
| [PropertyLoggingInterceptor](PropertyLoggingInterceptor.md) | interface | Interceptor interface for beans to modify property values that are written to the installer log file. |
| [ReplacementMode](ReplacementMode.md) | enum | Variable replacement mode for string properties that are used in regular expressions. |
| [ScriptProperty](ScriptProperty.md) | class | Property type for script properties to be used in beans. |
| [UndefinedVariableException](UndefinedVariableException.md) | class | Exception that is thrown by the `replaceVariables(...)` methods in [`AbstractBean`](AbstractBean.md) if a variable cannot be found and the [`VariableErrorHandling`](VariableErrorHandling.md) for the corresponding variable type is [`VariableErrorHandling.EXCEPTION`](VariableErrorHandling.md#exception). |
| [VariableErrorHandling](VariableErrorHandling.md) | enum | Used in [`VariableErrorHandlingDescriptor`](VariableErrorHandlingDescriptor.md) to configure the error handling for a single variable type. |
| [VariableErrorHandlingDescriptor](VariableErrorHandlingDescriptor.md) | class | Specifies the error handling for variable replacements. |
| [VisualContainerBean](VisualContainerBean.md) | interface | Implemented by beans that contain visual components. |

