# ActionListPropertyDescriptor

Import: `import com.install4j.api.beaninfo.ActionListPropertyDescriptor;`

```java
public class ActionListPropertyDescriptor extends Install4JPropertyDescriptor
```

Property descriptor for properties that contain a list of configurable actions.
The type of the property must be [`ActionList`](../beans/ActionList.md).

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.


**See also:**

- [ActionList](../beans/ActionList.md)

## Inherited from

- [Install4JPropertyDescriptor](Install4JPropertyDescriptor.md) — 23 methods, 35 fields

## Methods

| Signature | Returns | Description |
|---|---|---|
| [`create(String, Class, String, String)`](#create-string-class-string-string) | `ActionListPropertyDescriptor` | Create a property descriptor that can be passed to [`Install4JBeanInfo.addPropertyDescriptor`](Install4JBeanInfo.md#addpropertydescriptor-install4jpropertydescriptor). |
| [`setAllowedActionClasses(Class[])`](#setallowedactionclasses-class) | `ActionListPropertyDescriptor` | If set to a non-null value, the action registry dialog will only display the specified actions. |
| [`setExtraScriptParameters(ScriptParameter[])`](#setextrascriptparameters-scriptparameter) | `ActionListPropertyDescriptor` | If set to a non-null value, script properties of any actions contained in this action list will receive fixed extra script parameters of the defined type. |
| [`setConfigurableElevationType(boolean)`](#setconfigurableelevationtype-boolean) | `ActionListPropertyDescriptor` | By default, the user can configure the elevation type of the nested actions. |
| [`setActionKeys(String[])`](#setactionkeys-string) | `ActionListPropertyDescriptor` | Action keys can be used to show or hide properties of other actions. |

### create(String, Class, String, String)

```java
public static ActionListPropertyDescriptor create(String propertyName, Class beanClass, String displayName, String shortDescription)
```

Create a property descriptor that can be passed to [`Install4JBeanInfo.addPropertyDescriptor`](Install4JBeanInfo.md#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.

**Returns:** the property descriptor

### setAllowedActionClasses(Class[])

```java
public ActionListPropertyDescriptor setAllowedActionClasses(Class[] actionClasses)
```

If set to a non-null value, the action registry dialog will only display the specified actions.
Derived classes are also shown, so you can include entire hierarchies with a single class.
Otherwise, all actions will be offered.


**Parameters:**

- `actionClasses` — an array with the action classes

**Returns:** `this`, for chained calls on this property descriptor

### setExtraScriptParameters(ScriptParameter[])

```java
public ActionListPropertyDescriptor setExtraScriptParameters(ScriptParameter[] scriptParameters)
```

If set to a non-null value, script properties of any actions contained in this action list will receive
fixed extra script parameters of the defined type. The fixed parameters have to be passed to
[`AbstractBean.executeActionListAsync`](../beans/AbstractBean.md#executeactionlistasync-actionlist-object) or
[`AbstractBean.executeActionListSync`](../beans/AbstractBean.md#executeactionlistsync-actionlist-object) as the
vararg parameter.


**Parameters:**

- `scriptParameters` — the extra parameters

**Returns:** `this`, for chained calls on this property descriptor

### setConfigurableElevationType(boolean)

```java
public ActionListPropertyDescriptor setConfigurableElevationType(boolean configurableElevationType)
```

By default, the user can configure the elevation type of the nested actions. In that case, nested actions
have an "Action elevation type" property that can be configured separately from the container.

Sometimes it can be necessary to suppress this property, for example, if the actions depend on non-serializable
installer variables set by the container. To force a container action to be unelevated, you can call
`setDefaultActionElevationType(ActionElevationType.NONE, true)` in the bean info of the action.


**Parameters:**

- `configurableElevationType` — whether the action elevation type should be configurable

**Returns:** `this`, for chained calls on this property descriptor

### setActionKeys(String[])

```java
public ActionListPropertyDescriptor setActionKeys(String[] actionsKeys)
```

Action keys can be used to show or hide properties of other actions.
See [`Install4JPropertyDescriptor.setActionListShownKeys`](Install4JPropertyDescriptor.md#setactionlistshownkeys-string) and
[`Install4JPropertyDescriptor.setActionListHiddenKeys`](Install4JPropertyDescriptor.md#setactionlisthiddenkeys-string) for more information.


**Parameters:**

- `actionsKeys` — an array with the action keys

**Returns:** `this`, for chained calls on this property descriptor

## Fields

| Field | Type | Description |
|---|---|---|
| [ATTRIBUTE_ALLOWED_ACTION_CLASSES](#attribute-allowed-action-classes) | `String` |  |
| [ATTRIBUTE_EXTRA_SCRIPT_PARAMETERS](#attribute-extra-script-parameters) | `String` |  |
| [ATTRIBUTE_CONFIGURABLE_ELEVATION_TYPE](#attribute-configurable-elevation-type) | `String` |  |
| [ATTRIBUTE_ACTION_KEYS](#attribute-action-keys) | `String` |  |
| [ACTION_KEY_NO_ROLLBACK](#action-key-no-rollback) | `String` | Action key for properties of type [`ActionList`](../beans/ActionList.md) that do not support rollback. |

### ATTRIBUTE_ALLOWED_ACTION_CLASSES

```java
public static final String ATTRIBUTE_ALLOWED_ACTION_CLASSES = "allowedActions"
```

### ATTRIBUTE_EXTRA_SCRIPT_PARAMETERS

```java
public static final String ATTRIBUTE_EXTRA_SCRIPT_PARAMETERS = "extraScriptParameters"
```

### ATTRIBUTE_CONFIGURABLE_ELEVATION_TYPE

```java
public static final String ATTRIBUTE_CONFIGURABLE_ELEVATION_TYPE = "configurableElevationType"
```

### ATTRIBUTE_ACTION_KEYS

```java
public static final String ATTRIBUTE_ACTION_KEYS = "actionsKeys"
```

### ACTION_KEY_NO_ROLLBACK

```java
public static final String ACTION_KEY_NO_ROLLBACK = "noRollback"
```

Action key for properties of type [`ActionList`](../beans/ActionList.md) that do not support rollback.
Properties in standard actions that deal with rollback are not shown in the install4j IDE in that case.

Call [`ActionListPropertyDescriptor.setActionKeys`](ActionListPropertyDescriptor.md#setactionkeys-string) with an array that contains this string to select this behavior for
an action list property.

