# InstallationComponentSetup

Import: `import com.install4j.api.context.InstallationComponentSetup;`

```java
interface InstallationComponentSetup
```

This interface provides information about installation components.
Installation components are configured on the "Installation Components" tab
in the install4j IDE.

Objects of this type are returned by [`Context.getInstallationComponents`](Context.md#getinstallationcomponents) and [`Context.getInstallationComponentById`](Context.md#getinstallationcomponentbyid-string)

## Methods

| Signature | Returns | Description |
|---|---|---|
| [`isSelected()`](#isselected) | `boolean` | Returns whether the installation components have been selected by the user. |
| [`setSelected(boolean)`](#setselected-boolean) | `void` | Sets whether the installation component should be installed or not. |
| [`isChangeable()`](#ischangeable) | `boolean` | Returns whether the selection state of the installation component can be changed by the user or not. |
| [`setChangeable(boolean)`](#setchangeable-boolean) | `void` | Sets whether the selection state of the installation component can be changed by the user or not. |
| [`isHidden()`](#ishidden) | `boolean` | Returns whether the installation component is hidden from the user. |
| [`setHidden(boolean)`](#sethidden-boolean) | `void` | Sets whether the installation component is hidden. |
| [`getName()`](#getname) | `String` | Returns the name of this installation components. |
| [`getId()`](#getid) | `String` | The ID of the installation component. |
| [`isDownloaded()`](#isdownloaded) | `boolean` | Returns whether the installation component is downloaded. |

### isSelected()

```java
boolean isSelected()
```

Returns whether the installation components have been selected by the user.


**Returns:** `true` or `false`.

### setSelected(boolean)

```java
void setSelected(boolean selected)
```

Sets whether the installation component should be installed or not. This method only has an effect
when called before the "Install files" action.


**Parameters:**

- `selected` — the new selection state

### isChangeable()

```java
boolean isChangeable()
```

Returns whether the selection state of the installation component can be changed by the user or not.


**Returns:** `true` or `false`.

### setChangeable(boolean)

```java
void setChangeable(boolean changeable)
```

Sets whether the selection state of the installation component can be changed by the user or not.


**Parameters:**

- `changeable` — the new state

### isHidden()

```java
boolean isHidden()
```

Returns whether the installation component is hidden from the user. This only affects the display in the
component tree.


**Returns:** `true` or `false`.

### setHidden(boolean)

```java
void setHidden(boolean hidden)
```

Sets whether the installation component is hidden. This only affects the display in the
component tree.


**Parameters:**

- `hidden` — the new state

### getName()

```java
String getName()
```

Returns the name of this installation components. This is the name that you have
specified in the install4j IDE. The checkbox in the installation component tree displays this
name.


**Returns:** the name

### getId()

```java
String getId()
```

The ID of the installation component. You can display
component IDs in the install4j IDE.


**Returns:** the ID

### isDownloaded()

```java
boolean isDownloaded()
```

Returns whether the installation component is downloaded.


**Returns:** `true` or `false`.

