[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [schematics](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics) / [factory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#factory) / [ComponentNodeProxyFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#componentnodeproxyfactory) / ComponentNodeProxyFactory

# Class: ComponentNodeProxyFactory

[factory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#factory).[ComponentNodeProxyFactory](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#componentnodeproxyfactory).ComponentNodeProxyFactory

ComponentNodeProxyFactory

## Hierarchy

- [`AbstractComponentNodeFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory)
↳ **`ComponentNodeProxyFactory`**


## Table of contents

Constructors
- [new ComponentNodeProxyFactory(parameter, componentNode)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.schematics.factory.componentnodeproxyfactory.componentnodeproxyfactory.md#new componentnodeproxyfactory(parameter, componentnode))


Methods
| [createComponentNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.componentnodeproxyfactory.componentnodeproxyfactory#createcomponentnode) | [validGeometryData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.componentnodeproxyfactory.componentnodeproxyfactory#validgeometrydata) |
|  --- | --- |


## Contents

Constructors
#### new ComponentNodeProxyFactory(parameter, componentNode)

• **new ComponentNodeProxyFactory**(`parameter`, `componentNode?`)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `parameter` | [`AbstractComponentNodeFactory`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory) | (`data?`: [`Element`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#wellboredata#element)) => [`ComponentNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.scene-2.componentnode.componentnode) | callback method to create an instance of a component node OR an instance of a component node factory to create the component node |
| `Optional` `componentNode` | [`ComponentNode`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.scene-2.componentnode.componentnode) | reusable component node instance |


#### Overrides

AbstractComponentNodeFactory.constructor

Methods
#### createComponentNode

▸ **createComponentNode**(`data?`, `forceCreateNewNode?`, `deepCopyData?`): [`ComponentNodeProxy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.scene-2.componentnodeproxy.componentnodeproxy)

Creates component node and return it.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `data` | [`Element`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#wellboredata#element) | data to build the node of |
| `Optional` `forceCreateNewNode` | `boolean` | if &quot;true&quot; brand new component node instance is placed in the proxy |
| `Optional` `deepCopyData` | `boolean` | if &quot;true&quot; the data will be fully copied before set |


#### Returns

[`ComponentNodeProxy`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.scene-2.componentnodeproxy.componentnodeproxy)

new proxy instance that incapsulates reusable component node instance

#### Overrides

[AbstractComponentNodeFactory](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory).[createComponentNode](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory#createcomponentnode)

#### validGeometryData

▸ **validGeometryData**(`geometryData`): `boolean`

Validates geometry data. The implementation returns "true" always

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `geometryData` | [`Entity`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.schematics#wellboredata#entity) | geometry data to validate |


#### Returns

`boolean`

#### Inherited from

[AbstractComponentNodeFactory](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory).[validGeometryData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.schematics.factory.abstractcomponentnodefactory.abstractcomponentnodefactory#validgeometrydata)