# FunctionNode

Artifact: [androidx.appsearch:appsearch](https://developer.android.com/jetpack/androidx/releases/appsearch) [View Source](https://cs.android.com/search?q=file:androidx/appsearch/ast/FunctionNode.java+class:androidx.appsearch.ast.FunctionNode) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

*** ** * ** ***


```
@ExperimentalAppSearchApi
interface FunctionNode : Node
```

<br />

Known direct subclasses [GetSearchStringParameterNode](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/GetSearchStringParameterNode), [HasPropertyNode](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/HasPropertyNode), [PropertyDefinedNode](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/PropertyDefinedNode), [SearchNode](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SearchNode), [SemanticSearchNode](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SemanticSearchNode)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/GetSearchStringParameterNode` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode` that represents the getSearchStringParameter function. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/HasPropertyNode` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode` representing the \`hasProperty\` query function. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/PropertyDefinedNode` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode` representing the \`propertyDefined\` query function. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SearchNode` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode` that represents the search function. |
| `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SemanticSearchNode` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode` that represents the semanticSearch function. |

*** ** * ** ***

`https://developer.android.com/reference/kotlin/androidx/appsearch/ast/Node` that represents a function.

Every function node will have a function name and some arguments represented as fields on the class extending `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode`.

FunctionNode should be implemented by a node that implements a specific function.

## Summary

| ### Constants |
|---|---|
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#FUNCTION_NAME_GET_SEARCH_STRING_PARAMETER() = "getSearchStringParameter"` Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/GetSearchStringParameterNode`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#FUNCTION_NAME_HAS_PROPERTY() = "hasProperty"` Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/HasPropertyNode`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#FUNCTION_NAME_PROPERTY_DEFINED() = "propertyDefined"` Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/PropertyDefinedNode`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#FUNCTION_NAME_SEARCH() = "search"` Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SearchNode`. |
| `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#FUNCTION_NAME_SEMANTIC_SEARCH() = "semanticSearch"` Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SemanticSearchNode`. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode#getFunctionName()()` Gets the name of the node that extends the `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode`. |

| ### Inherited functions |
|---|
| From [androidx.appsearch.ast.Node](https://developer.android.com/reference/kotlin/androidx/appsearch/ast/Node) |---|---| | `(https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/appsearch/ast/Node!>` | `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/Node#getChildren()()` Get a list of the node's child `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/Node`s. | |

## Constants

### FUNCTION_NAME_GET_SEARCH_STRING_PARAMETER

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
const val FUNCTION_NAME_GET_SEARCH_STRING_PARAMETER = "getSearchStringParameter": String!
```

Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/GetSearchStringParameterNode`.

### FUNCTION_NAME_HAS_PROPERTY

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
const val FUNCTION_NAME_HAS_PROPERTY = "hasProperty": String!
```

Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/HasPropertyNode`.

### FUNCTION_NAME_PROPERTY_DEFINED

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
const val FUNCTION_NAME_PROPERTY_DEFINED = "propertyDefined": String!
```

Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/PropertyDefinedNode`.

### FUNCTION_NAME_SEARCH

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
const val FUNCTION_NAME_SEARCH = "search": String!
```

Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SearchNode`.

### FUNCTION_NAME_SEMANTIC_SEARCH

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
const val FUNCTION_NAME_SEMANTIC_SEARCH = "semanticSearch": String!
```

Name of the query function represented by `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/query/SemanticSearchNode`.

## Public functions

### getFunctionName

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

```
fun getFunctionName(): String
```

Gets the name of the node that extends the `https://developer.android.com/reference/kotlin/androidx/appsearch/ast/FunctionNode`.