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

# AbstractFactory

> - [`ColorPropertyFactory`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/ColorFactory-1.md#colorpropertyfactory)

## Classes

### `abstract` AbstractObjectPropertyFactory

#### Extended by

#### Type Parameters

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

#### Implements

- [`IPropertyFactory`](#ipropertyfactory)

#### Constructors

##### Constructor

```ts
new AbstractObjectPropertyFactory<T>(abstractObjectClass, derivedClassesData): AbstractObjectPropertyFactory<T>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `abstractObjectClass` | `Function` |
| `derivedClassesData` | `object`[] |

###### Returns

[`AbstractObjectPropertyFactory`](#abstract-abstractobjectpropertyfactory)\<`T`\>

#### Properties

##### type

```ts
abstract type: TPropertyDataTypes;
```

###### Implementation of

[`IPropertyFactory`](#ipropertyfactory).[`type`](#type-1)

#### Accessors

##### derivedTypes

###### Get Signature

```ts
get derivedTypes(): string[];
```

###### Returns

`string`[]

##### factoryClass

###### Get Signature

```ts
get factoryClass(): Function;
```

###### Returns

`Function`

###### Implementation of

[`IPropertyFactory`](#ipropertyfactory).[`factoryClass`](#factoryclass-1)

#### Methods

##### getDefaultValue()

```ts
getDefaultValue(type?): T;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `type?` | `string` |

###### Returns

`T`

###### Implementation of

[`IPropertyFactory`](#ipropertyfactory).[`getDefaultValue`](#getdefaultvalue-1)

## Interfaces

### IPropertyFactory

#### Properties

##### factoryClass

```ts
factoryClass: Function;
```

##### type

```ts
type: TPropertyDataTypes;
```

#### Methods

##### getDefaultValue()

```ts
getDefaultValue(subClass?): any;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `subClass?` | `string` |

###### Returns

`any`
