> ## Documentation Index
> Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Java: ComplexObject

> CDKTN Core API Reference for ComplexObject in Java.

* *Implements:* <a href="#cdktn.IInterpolatingParent">IInterpolatingParent</a>, <a href="#cdktn.IResolvable">IResolvable</a>, <a href="#cdktn.ITerraformAddressable">ITerraformAddressable</a>

## Initializers <a name="Initializers" id="cdktn.ComplexObject.Initializer" />

```java theme={null}
import io.cdktn.cdktn.ComplexObject;

new ComplexObject(IInterpolatingParent terraformResource, java.lang.String terraformAttribute, java.lang.Boolean complexObjectIsFromSet);,new ComplexObject(IInterpolatingParent terraformResource, java.lang.String terraformAttribute, java.lang.Boolean complexObjectIsFromSet, java.lang.String|java.lang.Number complexObjectIndex);
```

| **Name**                                                                                                            | **Type**                                                                    | **Description**                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| <code><a href="#cdktn.ComplexObject.Initializer.parameter.terraformResource">terraformResource</a></code>           | <code><a href="#cdktn.IInterpolatingParent">IInterpolatingParent</a></code> | *No description.*                                                                                                   |
| <code><a href="#cdktn.ComplexObject.Initializer.parameter.terraformAttribute">terraformAttribute</a></code>         | <code>java.lang.String</code>                                               | *No description.*                                                                                                   |
| <code><a href="#cdktn.ComplexObject.Initializer.parameter.complexObjectIsFromSet">complexObjectIsFromSet</a></code> | <code>java.lang.Boolean</code>                                              | set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items. |
| <code><a href="#cdktn.ComplexObject.Initializer.parameter.complexObjectIndex">complexObjectIndex</a></code>         | <code>java.lang.String\|java.lang.Number</code>                             | the index of the complex object in a list.                                                                          |

***

### `terraformResource`<sup>Required</sup> <a name="terraformResource" id="cdktn.ComplexObject.Initializer.parameter.terraformResource" />

* *Type:* <a href="#cdktn.IInterpolatingParent">IInterpolatingParent</a>

***

### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.Initializer.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `complexObjectIsFromSet`<sup>Required</sup> <a name="complexObjectIsFromSet" id="cdktn.ComplexObject.Initializer.parameter.complexObjectIsFromSet" />

* *Type:* java.lang.Boolean

set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.

***

### `complexObjectIndex`<sup>Optional</sup> <a name="complexObjectIndex" id="cdktn.ComplexObject.Initializer.parameter.complexObjectIndex" />

* *Type:* java.lang.String|java.lang.Number

the index of the complex object in a list.

***

## Methods <a name="Methods" id="Methods" />

| **Name**                                                                                            | **Description**                                           |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| <code><a href="#cdktn.ComplexObject.computeFqn">computeFqn</a></code>                               | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getAnyMapAttribute">getAnyMapAttribute</a></code>               | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getBooleanAttribute">getBooleanAttribute</a></code>             | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getBooleanMapAttribute">getBooleanMapAttribute</a></code>       | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getListAttribute">getListAttribute</a></code>                   | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getNumberAttribute">getNumberAttribute</a></code>               | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getNumberListAttribute">getNumberListAttribute</a></code>       | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getNumberMapAttribute">getNumberMapAttribute</a></code>         | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getStringAttribute">getStringAttribute</a></code>               | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.getStringMapAttribute">getStringMapAttribute</a></code>         | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.interpolationForAttribute">interpolationForAttribute</a></code> | *No description.*                                         |
| <code><a href="#cdktn.ComplexObject.resolve">resolve</a></code>                                     | Produce the Token's value at resolution time.             |
| <code><a href="#cdktn.ComplexObject.toString">toString</a></code>                                   | Return a string representation of this resolvable object. |

***

### `computeFqn` <a name="computeFqn" id="cdktn.ComplexObject.computeFqn" />

```java theme={null}
public java.lang.String computeFqn()
```

### `getAnyMapAttribute` <a name="getAnyMapAttribute" id="cdktn.ComplexObject.getAnyMapAttribute" />

```java theme={null}
public java.util.Map<java.lang.String, java.lang.Object> getAnyMapAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getAnyMapAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getBooleanAttribute` <a name="getBooleanAttribute" id="cdktn.ComplexObject.getBooleanAttribute" />

```java theme={null}
public IResolvable getBooleanAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getBooleanAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getBooleanMapAttribute` <a name="getBooleanMapAttribute" id="cdktn.ComplexObject.getBooleanMapAttribute" />

```java theme={null}
public java.util.Map<java.lang.String, java.lang.Boolean> getBooleanMapAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getBooleanMapAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getListAttribute` <a name="getListAttribute" id="cdktn.ComplexObject.getListAttribute" />

```java theme={null}
public java.util.List<java.lang.String> getListAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getListAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getNumberAttribute` <a name="getNumberAttribute" id="cdktn.ComplexObject.getNumberAttribute" />

```java theme={null}
public java.lang.Number getNumberAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getNumberAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getNumberListAttribute` <a name="getNumberListAttribute" id="cdktn.ComplexObject.getNumberListAttribute" />

```java theme={null}
public java.util.List<java.lang.Number> getNumberListAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getNumberListAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getNumberMapAttribute` <a name="getNumberMapAttribute" id="cdktn.ComplexObject.getNumberMapAttribute" />

```java theme={null}
public java.util.Map<java.lang.String, java.lang.Number> getNumberMapAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getNumberMapAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getStringAttribute` <a name="getStringAttribute" id="cdktn.ComplexObject.getStringAttribute" />

```java theme={null}
public java.lang.String getStringAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getStringAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `getStringMapAttribute` <a name="getStringMapAttribute" id="cdktn.ComplexObject.getStringMapAttribute" />

```java theme={null}
public java.util.Map<java.lang.String, java.lang.String> getStringMapAttribute(java.lang.String terraformAttribute)
```

#### `terraformAttribute`<sup>Required</sup> <a name="terraformAttribute" id="cdktn.ComplexObject.getStringMapAttribute.parameter.terraformAttribute" />

* *Type:* java.lang.String

***

### `interpolationForAttribute` <a name="interpolationForAttribute" id="cdktn.ComplexObject.interpolationForAttribute" />

```java theme={null}
public IResolvable interpolationForAttribute(java.lang.String property)
```

#### `property`<sup>Required</sup> <a name="property" id="cdktn.ComplexObject.interpolationForAttribute.parameter.property" />

* *Type:* java.lang.String

***

### `resolve` <a name="resolve" id="cdktn.ComplexObject.resolve" />

```java theme={null}
public java.lang.Object resolve(IResolveContext _context)
```

Produce the Token's value at resolution time.

#### `_context`<sup>Required</sup> <a name="_context" id="cdktn.ComplexObject.resolve.parameter._context" />

* *Type:* <a href="#cdktn.IResolveContext">IResolveContext</a>

***

### `toString` <a name="toString" id="cdktn.ComplexObject.toString" />

```java theme={null}
public java.lang.String toString()
```

Return a string representation of this resolvable object.

Returns a reversible string representation.

## Properties <a name="Properties" id="Properties" />

| **Name**                                                                             | **Type**                                         | **Description**                                                                                  |
| ------------------------------------------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
| <code><a href="#cdktn.ComplexObject.property.creationStack">creationStack</a></code> | <code>java.util.List\< java.lang.String ></code> | The creation stack of this resolvable which will be appended to errors thrown during resolution. |
| <code><a href="#cdktn.ComplexObject.property.fqn">fqn</a></code>                     | <code>java.lang.String</code>                    | *No description.*                                                                                |

***

### `creationStack`<sup>Required</sup> <a name="creationStack" id="cdktn.ComplexObject.property.creationStack" />

```java theme={null}
public java.util.List<java.lang.String> getCreationStack();
```

* *Type:* java.util.List\< java.lang.String >

The creation stack of this resolvable which will be appended to errors thrown during resolution.

If this returns an empty array the stack will not be attached.

***

### `fqn`<sup>Required</sup> <a name="fqn" id="cdktn.ComplexObject.property.fqn" />

```java theme={null}
public java.lang.String getFqn();
```

* *Type:* java.lang.String

***
