# Address (AddressGenerator)

The [Address](https://docs.tonic.ai/app/generation/generators/generator-reference/address) generator replaces the source value with a random string based on the type of address data that the column contains.

## Link object structure <a href="#generator-api-address-link-object" id="generator-api-address-link-object"></a>

The Address generator can be self-consistent or consistent with another column. You cannot configure differential privacy. It can be linked to other columns.

The `metadata` object is populated from [`AddressMetadata`](https://app.tonic.ai/apidocs/index.html#/models/AddressMetadata).

For the Address generator, you specify the type of address value that is in the source column. Here is the basic structure of a link object for the Address generator.

```json
{
  "schema": "string",
  "table": "string",
  "column": "string",
  "path": "string",  //JSON fields only
  "dataType": "string",  //MongoDB, Amazon DynamoDB, and JSON fields only
  "metadata": {  
    "presetId": "string",
    "generatorId": "AddressGenerator",
    "encryptionProcessor": "x-on", //To use configured Structural data encryption
    "customValueProcessor": "string" //If custom value processor applied
    "addressType": "enum",
    "isConsistent": boolean,
    "consistencyColumn": "string"
  }
}
```

## Example replacement <a href="#generator-api-address-replacement" id="generator-api-address-replacement"></a>

The following example replacement shows two linked columns that are assigned the built-in generator preset for the Address generator. One column contains city names, and the other contains zip codes.

Both columns have consistency disabled.

```json
{
  "name": "city,id",
  "schema": "public",
  "table": "locations",
  "links": [
    {
      "column": "city",
      "table": "locations",
      "schema": "public",
      "metadata": {
        "presetId": "AddressGenerator",
        "generatorId": "AddressGenerator",
        "addressType": "City",
        "isConsistent": false
      }
    },
    {
      "column": "id",
      "table": "locations",
      "schema": "public",
      "metadata": {
        "generatorId": "AddressGenerator",
        "addressType": "ZipCode",
        "isConsistent": false
      }
    }
  ]
}
```
