
# IComponentLibraryDocument interface

*No description yet.*

```csharp
public interface IComponentLibraryDocument : IServerDocument
```

**Namespace:** ComponentLib · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md)

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [CommandHandler](#commandhandler) | [IComponentLibraryCommandHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryCommandHandler.md) | get; set |  |
| [ComponentSet](#componentset) | [IComponentSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentSet.md) | get; set |  |

### CommandHandler

*No description yet.*

```csharp
IComponentLibraryCommandHandler GetCommandHandler();
void SetCommandHandler(IComponentLibraryCommandHandler argHandler);
```

**Type:** [IComponentLibraryCommandHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryCommandHandler.md) · **Access:** read/write

The accessors are extension methods of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### ComponentSet

*No description yet.*

```csharp
IComponentSet GetComponentSet();
void SetComponentSet(IComponentSet argValue);
```

**Type:** [IComponentSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentSet.md) · **Access:** read/write

The accessors are extension methods of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [CreateComponentDefinition](#createcomponentdefinition) | [IComponentDefinition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinition.md) |  |
| [CreateComponentSet](#createcomponentset) | [IComponentSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentSet.md) |  |
| [CreateGroup](#creategroup) | [IGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IGroup.md) |  |
| [CreateModelChoice](#createmodelchoice) | [IModelChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IModelChoice.md) |  |
| [CreateModelLink](#createmodellink) | [IModelLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IModelLink.md) |  |
| [CreateParameter](#createparameter) | [IParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IParameter.md) |  |
| [CreatePartChoice](#createpartchoice) | [IPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoice.md) |  |
| [CreatePartChoiceData](#createpartchoicedata) | [IPartChoiceData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceData.md) |  |
| [CreatePartChoiceDatas](#createpartchoicedatas) | [IPartChoiceDataList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceDataList.md) |  |
| [CreatePartChoiceListChoice](#createpartchoicelistchoice) | [IPartChoiceListChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceListChoice.md) |  |
| [CreatePartChoiceListLink](#createpartchoicelistlink) | [IPartChoiceListLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceListLink.md) |  |
| [CreateRequiredModel](#createrequiredmodel) | [IRequiredModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredModel.md) |  |
| [CreateRequiredParameter](#createrequiredparameter) | [IRequiredParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredParameter.md) |  |
| [CreateRequiredPartChoice](#createrequiredpartchoice) | [IRequiredPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredPartChoice.md) |  |
| [DestroyAbstractObject](#destroyabstractobject) | `void` |  |
| [GetIsSingleEditorMode](#getissingleeditormode) | `bool` |  |
| [GetModelDisplayName](#getmodeldisplayname) | `string` |  |
| [GetSelectedComponents](#getselectedcomponents) | [IComponentDefinitionList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinitionList.md) |  |
| [Refresh](#refresh) | `void` |  |
| [SetModelDisplayName](#setmodeldisplayname) | `void` |  |
| [SwitchEditorView](#switcheditorview) | `void` |  |
| [UpdateItemToLatestRevision](#updateitemtolatestrevision) | `void` |  |

### CreateComponentDefinition

*No description yet.*

```csharp
IComponentDefinition CreateComponentDefinition();
```

**Returns:** [IComponentDefinition](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinition.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateComponentSet

*No description yet.*

```csharp
IComponentSet CreateComponentSet();
```

**Returns:** [IComponentSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentSet.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateGroup

*No description yet.*

```csharp
IGroup CreateGroup();
```

**Returns:** [IGroup](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IGroup.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateModelChoice

*No description yet.*

```csharp
IModelChoice CreateModelChoice();
```

**Returns:** [IModelChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IModelChoice.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateModelLink

*No description yet.*

```csharp
IModelLink CreateModelLink();
```

**Returns:** [IModelLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IModelLink.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateParameter

*No description yet.*

```csharp
IParameter CreateParameter();
```

**Returns:** [IParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IParameter.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreatePartChoice

*No description yet.*

```csharp
IPartChoice CreatePartChoice();
```

**Returns:** [IPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoice.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreatePartChoiceData

*No description yet.*

```csharp
IPartChoiceData CreatePartChoiceData();
```

**Returns:** [IPartChoiceData](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceData.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreatePartChoiceDatas

*No description yet.*

```csharp
IPartChoiceDataList CreatePartChoiceDatas();
```

**Returns:** [IPartChoiceDataList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceDataList.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreatePartChoiceListChoice

*No description yet.*

```csharp
IPartChoiceListChoice CreatePartChoiceListChoice();
```

**Returns:** [IPartChoiceListChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceListChoice.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreatePartChoiceListLink

*No description yet.*

```csharp
IPartChoiceListLink CreatePartChoiceListLink();
```

**Returns:** [IPartChoiceListLink](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IPartChoiceListLink.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateRequiredModel

*No description yet.*

```csharp
IRequiredModel CreateRequiredModel();
```

**Returns:** [IRequiredModel](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredModel.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateRequiredParameter

*No description yet.*

```csharp
IRequiredParameter CreateRequiredParameter();
```

**Returns:** [IRequiredParameter](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredParameter.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### CreateRequiredPartChoice

*No description yet.*

```csharp
IRequiredPartChoice CreateRequiredPartChoice();
```

**Returns:** [IRequiredPartChoice](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IRequiredPartChoice.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### DestroyAbstractObject

*No description yet.*

```csharp
void DestroyAbstractObject(IAbstractObject argbstractObject);
void DestroyAbstractObject(object argbstractObject);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argbstractObject` | [IAbstractObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IAbstractObject.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`) with typed parameters; the second is declared by the interface.

### GetIsSingleEditorMode

*No description yet.*

```csharp
bool GetIsSingleEditorMode();
```

**Returns:** `bool`

### GetModelDisplayName

*No description yet.*

```csharp
string GetModelDisplayName(string argFileName);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFileName` | `string` | value |

**Returns:** `string`

### GetSelectedComponents

*No description yet.*

```csharp
IComponentDefinitionList GetSelectedComponents();
```

**Returns:** [IComponentDefinitionList](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentDefinitionList.md)

Extension method of `IComponentLibraryDocumentHelper` (`using ComponentLib;`).

### Refresh

*No description yet.*

```csharp
void Refresh(ref string argParameters);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argParameters` | `string` | ref |

**Returns:** nothing (`void`)

### SetModelDisplayName

*No description yet.*

```csharp
void SetModelDisplayName(string argFileName, string argDisplayName, bool argNeedToSave);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argFileName` | `string` | value |
| `argDisplayName` | `string` | value |
| `argNeedToSave` | `bool` | value |

**Returns:** nothing (`void`)

### SwitchEditorView

*No description yet.*

```csharp
void SwitchEditorView(bool argClassicView);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argClassicView` | `bool` | value |

**Returns:** nothing (`void`)

### UpdateItemToLatestRevision

*No description yet.*

```csharp
void UpdateItemToLatestRevision(string argItemGUID);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argItemGUID` | `string` | value |

**Returns:** nothing (`void`)

## Inherited members

- From [IServerDocument](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md): [AcquireDataFileHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#acquiredatafilehandle), [AcquireFileOwnership](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#acquirefileownership), [AddView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#addview), [BeingClosed](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#beingclosed), [CanCreateSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#cancreatesnippet), [CanPlaceSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#canplacesnippet), [CreateSnippetFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#createsnippetfile), [DocumentDirectoryChanged](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#documentdirectorychanged), [DoFileLoad](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dofileload), [DoFileSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dofilesave), [DoSafeChangeFileNameAndSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dosafechangefilenameandsave), [DoSafeFileSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#dosafefilesave), [FileModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#filemodifieddate), [FileName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#filename), [Focus](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#focus), [GetCanClose](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcanclose), [GetContextHelpTopicName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcontexthelptopicname), [GetCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getcount), [GetDocumentModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getdocumentmodifieddate), [GetKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getkind), [GetServerModule](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getservermodule), [GetSnippetView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getsnippetview), [GetSupportsOwnSave](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getsupportsownsave), [GetView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getview), [GetViewByName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#getviewbyname), [IsShown](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#isshown), [Modified](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#modified), [NotifyViews](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#notifyviews), [OwnsFile](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#ownsfile), [PlaceSnippet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#placesnippet), [ReleaseDataFileHandle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#releasedatafilehandle), [ReleaseFileOwnership](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#releasefileownership), [SupportsReload](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#supportsreload), [UpdateModifiedDate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#updatemodifieddate), [WarnIfOwnedByOther](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#warnifownedbyother), [ZoomSnippetContents](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocument.md#zoomsnippetcontents)

## Returned by

[IComponentLibraryManager.CreateComponentLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryManager.md#createcomponentlibrary), [IComponentLibraryManager.GetComponentLibraryByFileName](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryManager.md#getcomponentlibrarybyfilename), [IComponentLibraryManager.GetCurrentComponentLibrary](https://altiumdeveloper.github.io/ad-sdk-docs/reference/componentlib/IComponentLibraryManager.md#getcurrentcomponentlibrary)
