# 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"));
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.b2winsuite.com/5.6/scripting/utilities/nodeinputreader.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
