# IWRecoveryManager

### ENCRYPTION\_TYPE

```
public enum ENCRYPTION_TYPE {
  AES_128(0), AES_256(1);
}
```

Description

* Encryption type for back-up and recovery

### BACKUP\_OPTION

```
public enum BACKUP_OPTION {
  TOTAL(0),
  DID_DOCUMENT(1<<0),
  CLAIM(1<<1),
  KEY(1<<2);
```

Description

* The data type for back-up and recovery

### IWRecoveryManager

```
public IWRecoveryManager(IWKeyManager keyManager)
```

Description

* Constructor

Parameter

| Type         |    Name    |              Description |
| ------------ | :--------: | -----------------------: |
| IWKeyManager | keyManager | Instance of IWKeyManager |

### backUpStoredData<mark style="color:red;">(Deprecated)</mark>

```
public void backUpStoredData(int range, ENCRYPTION_TYPE type, String key, String[] didPaths, String extraString, BackUpCallback callback)
```

Description

* Back-up the stored data with selected option parameters &#x20;

  Constraint: Only works when Key Manager is on a unlock status

Parameter

| Type             |     Name    |                          Description |
| ---------------- | :---------: | -----------------------------------: |
| int              |    range    |                        back-up range |
| ENCRYPTION\_TYPE |     type    |                      encryption type |
| String           |     key     |                       encryption key |
| String\[]        |   didPaths  | Canonical paths of the DID documents |
| String           | extraString |         Extra String to be backed up |
| BackUpCallback   |   callback  |                             Callback |

#### BackUpCallback

* success(byte\[] backedUpData)

| Type    |     Name     |    Description |
| ------- | :----------: | -------------: |
| byte\[] | backedUpData | backed-up data |

* failure(IWErrorCode errorCode)

| Type        |    Name   |         Description |
| ----------- | :-------: | ------------------: |
| IWErrorCode | errorCode | occurred Error Code |

### backUpStoredData

```
public void backUpStoredData(int range, ENCRYPTION_TYPE type, byte[] key, String[] didPaths, String extraString, BackUpCallback callback)
```

Description

* Back-up the stored data with selected option parameters &#x20;

  Constraint: Only works when Key Manager is on a unlock status

Parameter

| Type                                     |     Name    |                          Description |
| ---------------------------------------- | :---------: | -----------------------------------: |
| int                                      |    range    |                        back-up range |
| ENCRYPTION\_TYPE                         |     type    |                      encryption type |
| <mark style="color:blue;">byte\[]</mark> |     key     |                       encryption key |
| String\[]                                |   didPaths  | Canonical paths of the DID documents |
| String                                   | extraString |         Extra String to be backed up |
| BackUpCallback                           |   callback  |                             Callback |

#### BackUpCallback

* success(byte\[] backedUpData)

| Type    |     Name     |    Description |
| ------- | :----------: | -------------: |
| byte\[] | backedUpData | backed-up data |

* failure(IWErrorCode errorCode)

| Type        |    Name   |         Description |
| ----------- | :-------: | ------------------: |
| IWErrorCode | errorCode | occurred Error Code |

### restoreBackedUpData(<mark style="color:red;">Deprecated</mark>)

```
public void restoreBackedUpByte(byte[] backedUpByte, String key, String didPath, RestoreCallback callback)
```

Description&#x20;

* Restores the backed-up data

  Constraint: Only works when Key Manager is on a unlock status

Parameter

| Type            |     Name     |               Description |
| --------------- | :----------: | ------------------------: |
| byte\[]         | backedUpByte | Backed-up data byte array |
| String          |      key     |            decryption key |
| String          |    didPath   |   DID path to be restored |
| RestoreCallback |   callback   |                  Callback |

#### RestoreCallback

* success(String extraString)

| Type   |     Name    |               Description |
| ------ | :---------: | ------------------------: |
| String | extraString | Backed-up data byte array |

* failure(IWErrorCode errorCode)

<table data-header-hidden><thead><tr><th width="253.33333333333331">Type</th><th align="center">Name</th><th align="right">Description</th></tr></thead><tbody><tr><td>Type</td><td align="center">Name</td><td align="right">Description</td></tr><tr><td>IWErrorCode</td><td align="center">errorCode</td><td align="right">occured  Error Code</td></tr></tbody></table>

### restoreBackedUpData

```
public void restoreBackedUpByte(byte[] backedUpByte, byte[] key, String didPath, RestoreCallback callback)
```

Description&#x20;

* Restores the backed-up data

  Constraint: Only works when Key Manager is on a unlock status

Parameter

| Type                                     |     Name     |               Description |
| ---------------------------------------- | :----------: | ------------------------: |
| byte\[]                                  | backedUpByte | Backed-up data byte array |
| <mark style="color:blue;">byte\[]</mark> |      key     |            decryption key |
| String                                   |    didPath   |   DID path to be restored |
| RestoreCallback                          |   callback   |                  Callback |

#### RestoreCallback

* success(String extraString)

| Type   |     Name    |               Description |
| ------ | :---------: | ------------------------: |
| String | extraString | Backed-up data byte array |

* failure(IWErrorCode errorCode)

<table data-header-hidden><thead><tr><th width="254.33333333333331">Type</th><th align="center">Name</th><th align="right">Description</th></tr></thead><tbody><tr><td>Type</td><td align="center">Name</td><td align="right">Description</td></tr><tr><td>IWErrorCode</td><td align="center">errorCode</td><td align="right">occured  Error Code</td></tr></tbody></table>
