> For the complete documentation index, see [llms.txt](https://cfcouchbase.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cfcouchbase.ortusbooks.com/usage/components/manual-inflation.md).

# Manual Inflation

If you pass a CFC with properties but it does not have the `autoInflate` attribute like above, the data will still be stored as a JSON struct, but without the extra metadata about the CFC. When retrieving this document, you will just get a struct back by default. You can build a CFC yourself, or specify an **inflateTo** argument to instruct CFCouchbase on how to reinflate your data back to an object. You can pass in a component path (or component instance) and the SDK will instantiate that component and call its property setters to repopulate it with the data from Couchbase.

```javascript
// path
person = client.get(
    id = "funkyChicken",
    inflateTo = "path.to.song"
);

// instance
person = client.get(
    id = "funkyChicken",
    inflateTo = new path.to.Song()
);
```

If you need even more control such as performing dependency injection, passing constructor arguments to the CFC, or dynamically choosing the component to create, you can supply a closure that acts as a provider and produces an empty object ready to be populated.

```javascript
person = client.get(
    id = "funkyChicken",
    inflateTo = function( document ){
        // Let WireBox create and autowire an instance for us
        return wirebox.getInstance( 'path.to.song' );
    }
);
```

If you are getting multiple documents back from Couchbase, your **inflateTo** closure will be called once per document.

> **Tip** You can even use `inflate` to when retrieving result sets, or querying Couchbase views and you'll get an array of populated CFCs!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cfcouchbase.ortusbooks.com/usage/components/manual-inflation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
