# NodeInputReader

The `NodeInputReader` class provides methods to retrieve node input in various formats, such as Files, Tables, and Data objects.

### Methods

#### ~~`inputAsFile(): File`~~ (Deprecated)

Gets the node input as a File object.

```typescript
var fileInput = NodeInputReader.inputAsFile();
// Use the 'fileInput' File object in your code
```

#### ~~`inputAsDataFrame(page: Integer, limit: Integer): Table`~~ (Deprecated)

Gets the node input as a Table object that can be queried and read. This method is useful for working with data in a tabular format.

**Parameters**

* `page` (Integer): The page number for data pagination.
* `limit` (Integer): The maximum number of rows to retrieve.

```typescript
var page = 1;
var limit = 10;
var tableInput = NodeInputReader.inputAsDataFrame(page, limit);
// Use the 'tableInput' Table object in your code
```

#### ~~`inputAsDataObject(): JsonNode`~~ (Deprecated)

Gets the node input as a Data object that can be read.

```typescript
var dataObject = NodeInputReader.inputAsDataObject();
// Use the 'dataObject' JsonNode in your code
```

#### ~~`inputAsFileIndex(index: Integer): File`~~ (Deprecated)

Gets the node input as a File object by an index. This is used when there are multiple inputs.

**Parameters**

* `index` (Integer): The index of the input.

```typescript
var inputIndex = 0;
var fileInput = NodeInputReader.inputAsFileIndex(inputIndex);
// Use the 'fileInput' File object in your code
```

#### ~~`inputAsDataFrameIndex(index: Integer, page: Integer, limit: Integer): Table`~~ (Deprecated)

Gets the node input as a Table object by an index and allows for pagination when working with large datasets. This is used when there are multiple inputs.

**Parameters**

* `index` (Integer): The index of the input.
* `page` (Integer): The page number for data pagination.
* `limit` (Integer): The maximum number of rows to retrieve.

```typescript
var inputIndex = 0;
var page = 1;
var limit = 10;
var tableInput = NodeInputReader.inputAsDataFrameIndex(inputIndex, page, limit);
// Use the 'tableInput' Table object in your code
```

#### ~~`inputAsDataFrameTotalRows(): Integer`~~ (Deprecated)

Gets the number of parts the DataFrame has.

```typescript
var totalRows = NodeInputReader.inputAsDataFrameTotalRows();
// Use the 'totalRows' Integer in your code
```

#### ~~`inputAsDataFrameByIndexTotalRows(index: Integer): Integer`~~ (Deprecated)

Gets the number of parts the DataFrame has by DataFrame index.

**Parameters**

* `index` (Integer): The index of the DataFrame.

```typescript
var inputIndex = 0;
var partsCount = NodeInputReader.inputAsDataFrameByIndexTotalRows(inputIndex);
// Use the 'partsCount' Integer in your code 
```

#### ~~`inputAsDataFrame(): Table`~~ (Deprecated)

Gets the table object. This method is deprecated and should not be used. Instead, use `inputAsDataFrameIndex()` with page and limit for more controlled data retrieval.

### **Examples**

**Example: Get Columns Max Value**

**Description:** This script retrieves the maximum value from the 6th column of an input table.

**Use Case:** Useful when you need to find the highest value in a specific column of a dataset.

```javascript
// Get a copy of the table reference from the previous node
var table = NodeInputReader.inputAsDataFrame(1, 10);

// Get a new table sorted by the 'name' column descendant
table = table.sortDescendingOn("name")

// Get the values of the 'name' column from the first row (Index 0)
var maxValue = table.stringColumn("name").get(0);
```

**Example: New Table Filtered**

**Description:** This script filters a table based on a condition, creating a new table with filtered data.

**Use Case:** Ideal for data preprocessing and filtering based on specific criteria.

```javascript
// Get a copy of the table reference from the previous node
var table = NodeInputReader.inputAsDataFrame()

// Gets the "gender" column as String
var stringColumn = table.stringColumn("gender");

//Return a new table with only value: female filtered
return table.where(stringColumn.endsWith("female"));
```
