# ComponentCollectionFacade Class

> ComponentCollectionFacade base class of the V1 navigator, providing the methods that query and filter a collection of data points for basic fields, tables, and field groups.

## Definition

* Namespace: `UiPath.DocumentProcessing.Contracts.Extensions.Navigator.V1`
* Assembly: `UiPath.DocumentProcessing.Contracts`
* Inherits: [FieldLookupBase](fieldlookupbase-class.md)

## Description

`ComponentCollectionFacade` provides the navigation methods that query and filter a collection of [ResultsDataPoint](results-data-point-class.md) objects. It is the base class of [ExtractionResultHandler](extractionresulthandler-class.md) and [FieldGroupValue](fieldgroupvalue-class.md), so the members below are available directly on both.

Lookup parameters (`fieldLookup`, `tableLookup`) follow the field lookup resolution rules defined in [FieldLookupBase](fieldlookupbase-class.md).

## Members

### Constructors

| Constructor | Description |
|---|---|
| `ComponentCollectionFacade(ResultsDataPoint[] dataPoints)` | Initializes a new instance over the supplied data points. |

### Methods

| Method | Returns | Description |
|---|---|---|
| `GetFields(Func<ResultsDataPoint, bool> condition = null, bool recursive = false)` | [WildcardDataPointCollection](wildcarddatapointcollection-class.md) | Returns the fields matching `condition`, or all fields when `condition` is `null`. When `recursive` is `true`, nested fields are included and internal table header components are skipped. |
| `GetSimpleFields()` | [BasicDataPoint](basicdatapoint-class.md)`[]` | Returns all basic (non-complex) fields. |
| `GetSimpleField(string fieldLookup)` | [BasicDataPoint](basicdatapoint-class.md) | Returns the basic field matching the lookup. |
| `GetTables()` | [TableDataPoint](tabledatapoint-class.md)`[]` | Returns all table fields. |
| `GetTable(string tableLookup)` | [TableDataPoint](tabledatapoint-class.md) | Returns the table field matching the lookup. |
| `GetTableValue(string tableLookup)` | [TableValue](tablevalue-class.md) | Returns the value of the table field matching the lookup. |
| `GetFieldGroups()` | [FieldGroupDataPoint](fieldgroupdatapoint-class.md)`[]` | Returns all field group fields. |
| `GetFieldGroup(string fieldLookup)` | [FieldGroupDataPoint](fieldgroupdatapoint-class.md) | Returns the field group field matching the lookup. |
| `GetFieldGroupValue(string fieldLookup, int index)` | [FieldGroupValue](fieldgroupvalue-class.md) | Returns the field group instance at `index` for the field matching the lookup. |
