# CacheBox Namespace

Whenever your models need anything from the ColdBox application then you can leverage the `coldbox:` namespace for injections.

### 1st Level DSL

| `DSL`     | Description                          |
| --------- | ------------------------------------ |
| `coldbox` | Get the ColdBox controller reference |

### 2nd Level DSL

| DSL                          | Description                                                           |
| ---------------------------- | --------------------------------------------------------------------- |
| `coldbox:appScheduler`       | Get a reference to the global application scheduler                   |
| `coldbox:asyncManager`       | Get a reference to the ColdBox Async Manager                          |
| `coldbox:configSettings`     | Get the application's configuration structure                         |
| `coldbox:coldboxSettings`    | Get the framework's configuration structure                           |
| `coldbox:dataMarshaller`     | Get the ColdBox data marshaling reference                             |
| `coldbox:flash`              | Get a reference to the application's flash scope object               |
| `coldbox:handlerService`     | Get a reference to the handler service                                |
| `coldbox:interceptorService` | Get a reference to the interceptor service                            |
| `coldbox:loaderService`      | Get a reference to the loader service                                 |
| `coldbox:moduleService`      | Get a reference to the ColdBox Module Service                         |
| `coldbox:moduleConfig`       | Get a reference to the entire `modules` configuration struct          |
| `coldbox:renderer`           | Get the ColdBox rendering engine reference                            |
| `coldbox:requestService`     | Get a reference to the request service                                |
| `coldbox:requestContext`     | Get a reference to the current request context object in the request. |
| `coldbox:router`             | Get a reference to the application global router.cfc                  |
| `coldbox:routingService`     | Get a reference to the Routing Service                                |
| `coldbox:schedulerService`   | Get a reference to the Scheduler Service                              |

### 3rd Level DSL

| DSL                                  | Description                                                               |
| ------------------------------------ | ------------------------------------------------------------------------- |
| `coldbox:interceptor:{name}`         |                                                                           |
| `coldbox:moduleSettings:{module}`    | Inject the entire *{module}* settings structure                           |
| `coldbox:moduleConfig:{module}`      | Inject the entire *{module}* configurations structure                     |
| `coldbox:coldboxSetting:{setting}`   | Get a ColdBox setting *{setting}* and inject it                           |
| `coldbox:setting:{setting}`          | Get the ColdBox application *{setting}* setting and inject it             |
| `coldbox:setting:{setting}@{module}` | Get the ColdBox application *{setting}* from the *{module}* and inject it |

### 4th Level DSL

| `DSL`                                       | Description                                             |
| ------------------------------------------- | ------------------------------------------------------- |
| `coldbox:moduleSettings:{module}:{setting}` | Get a module setting. Very similar to the 3rd level dsl |

```javascript
// some examples
property name="moduleService"   inject="coldbox:moduleService";
property name="producer"        inject="coldbox:interceptor:MessageProducer";
property name="appPath"         inject="coldbox:coldboxSetting:ApplicationPath";
```


---

# Agent Instructions: 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:

```
GET https://wirebox.ortusbooks.com/usage/injection-dsl/cachebox-namespace.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
