---
title: "CollectionFactory | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/CollectionFactory/"
---

# CollectionFactory

> - [`IPropertyFactory`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#ipropertyfactory)

## Classes

### CollectionPropertyFactory

#### Type Parameters

| Type Parameter |
| ------ |
| `T` |

#### Implements

#### Constructors

##### Constructor

```ts
new CollectionPropertyFactory<T>(collectionConstructor, ...args): CollectionPropertyFactory<T>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `collectionConstructor` | (...`args`) => `Iterable`\<`T`\> |
| ...`args` | `any`[] |

###### Returns

[`CollectionPropertyFactory`](#collectionpropertyfactory)\<`T`\>

#### Accessors

##### factoryClass

###### Get Signature

```ts
get factoryClass(): (...args) => Iterable<T>;
```

###### Returns

(...`args`) => `Iterable`\<`T`\>

###### Implementation of

[`IPropertyFactory`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#ipropertyfactory).[`factoryClass`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#factoryclass-1)

##### type

###### Get Signature

```ts
get type(): TPropertyDataTypes;
```

###### Returns

[`TPropertyDataTypes`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/IInputPropertyMetadata.md#tpropertydatatypes)

###### Implementation of

[`IPropertyFactory`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#ipropertyfactory).[`type`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#type-1)

#### Methods

##### getDefaultValue()

```ts
getDefaultValue(): Iterable<T, any, any>;
```

###### Returns

`Iterable`\<`T`, `any`, `any`\>

###### Implementation of

[`IPropertyFactory`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#ipropertyfactory).[`getDefaultValue`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/AbstractFactory.md#getdefaultvalue-1)
