# TransformingAtom

Summary:[Nested Classes](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#nestedclasses)\|[Ctors](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#pubctors)\|[Methods](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#)  

# TransformingAtom

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public


class
TransformingAtom
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object.html)`


``


implements

`[Atom](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom)`<O>


`

|---|------------------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||
| ↳ | android.support.test.espresso.web.model.TransformingAtom\<I, O\> |

<br />

*** ** * ** ***

Decorates another atom and transforms its output to another type.

## Summary

|                                                                                      ### Nested classes                                                                                      ||
|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` interface` | [TransformingAtom.Transformer](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom.Transformer)`<I, O>` Converts input to output. |

|                                                                                                                                                                                                                                                        ### Public constructors                                                                                                                                                                                                                                                         ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[TransformingAtom](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#TransformingAtom(android.support.test.espresso.web.model.Atom<I>, android.support.test.espresso.web.model.TransformingAtom.Transformer<I, O>))`(`[Atom](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom)`<I> parent, `[Transformer](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom.Transformer)`<I, O> transformer) ` |

|                                                                                                                                                                                                                                                              ### Public methods                                                                                                                                                                                                                                                              ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` `[List](https://developer.android.com/reference/java/util/List.html)`<`[Object](https://developer.android.com/reference/java/lang/Object.html)`>` | ` `[getArguments](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#getArguments(android.support.test.espresso.web.model.ElementReference))`(`[ElementReference](https://developer.android.com/reference/android/support/test/espresso/web/model/ElementReference)` elementContext) ` Creates a list of arguments to pass to the script. |
| ` `[String](https://developer.android.com/reference/java/lang/String.html)                                                                          | ` `[getScript](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#getScript())`() ` Provides the script to be evaluated.                                                                                                                                                                                                                  |
| ` O`                                                                                                                                                | ` `[transform](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#transform(android.support.test.espresso.web.model.Evaluation))`(`[Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation)` eval) ` Converts an Evaluation into another more suitable type.                              |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#)From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)` ` |-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object.html)          | ` clone() `                                                                                | | ` boolean`                                                                          | ` equals(`[Object](https://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void`                                                                             | ` finalize() `                                                                             | | ` final `[Class](https://developer.android.com/reference/java/lang/Class.html)`<?>` | ` getClass() `                                                                             | | ` int`                                                                              | ` hashCode() `                                                                             | | ` final void`                                                                       | ` notify() `                                                                               | | ` final void`                                                                       | ` notifyAll() `                                                                            | | ` `[String](https://developer.android.com/reference/java/lang/String.html)          | ` toString() `                                                                             | | ` final void`                                                                       | ` wait(long arg0, int arg1) `                                                              | | ` final void`                                                                       | ` wait(long arg0) `                                                                        | | ` final void`                                                                       | ` wait() `                                                                                 | ||
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom#)From interface` `[android.support.test.espresso.web.model.Atom](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom)` ` |--------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract `[List](https://developer.android.com/reference/java/util/List.html)`<`[Object](https://developer.android.com/reference/java/lang/Object.html)`>` | ` `[getArguments](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom#getArguments(android.support.test.espresso.web.model.ElementReference))`(`[ElementReference](https://developer.android.com/reference/android/support/test/espresso/web/model/ElementReference)` elementContext) ` Creates a list of arguments to pass to the script. | | ` abstract `[String](https://developer.android.com/reference/java/lang/String.html)                                                                          | ` `[getScript](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom#getScript())`() ` Provides the script to be evaluated.                                                                                                                                                                                                                  | | ` abstract O`                                                                                                                                                | ` `[transform](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom#transform(android.support.test.espresso.web.model.Evaluation))`(`[Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation)` evaluation) ` Converts an Evaluation into another more suitable type.                        | ||

## Public constructors

### TransformingAtom

```
TransformingAtom (Atom<I> parent, 
                Transformer<I, O> transformer)
```

<br />

<br />

|             Parameters              ||
|---------------|----------------------|
| `parent`      | `Atom` <br />        |
| `transformer` | `Transformer` <br /> |

## Public methods

### getArguments

```
List<Object> getArguments (ElementReference elementContext)
```

Creates a list of arguments to pass to the script.

<br />

|                                                        Parameters                                                         ||
|------------------|---------------------------------------------------------------------------------------------------------|
| `elementContext` | `ElementReference`: null unless an ElementReference has been supplied to execute this atom with. <br /> |

|                                                                                                     Returns                                                                                                      ||
|--------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [List](https://developer.android.com/reference/java/util/List.html)`<`[Object](https://developer.android.com/reference/java/lang/Object.html)`>` | the List of objects to pass to the script as arguments. <br /> |

### getScript

```
String getScript ()
```

Provides the script to be evaluated.

<br />

|                                     Returns                                     ||
|-------------------------------------------------------------------------|--------|
| [String](https://developer.android.com/reference/java/lang/String.html) | <br /> |

### transform

```
O transform (Evaluation eval)
```

Converts an Evaluation into another more suitable type.

<br />

|         Parameters          ||
|--------|---------------------|
| `eval` | `Evaluation` <br /> |

|   Returns   ||
|-----|--------|
| `O` | <br /> |

-

  ## Interfaces

  - [Atom](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom)
  - [JSONAble](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble)
  - [JSONAble.DeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble.DeJSONFactory)
  - [TransformingAtom.Transformer](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom.Transformer)
-

  ## Classes

  - [Atoms](https://developer.android.com/reference/android/support/test/espresso/web/model/Atoms)
  - [ElementReference](https://developer.android.com/reference/android/support/test/espresso/web/model/ElementReference)
  - [Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation)
  - [ModelCodec](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec)
  - [SimpleAtom](https://developer.android.com/reference/android/support/test/espresso/web/model/SimpleAtom)
  - [TransformingAtom](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom)
  - [WindowReference](https://developer.android.com/reference/android/support/test/espresso/web/model/WindowReference)
-

  ## Enums

  - [SimpleAtom.ElementReferencePlacement](https://developer.android.com/reference/android/support/test/espresso/web/model/SimpleAtom.ElementReferencePlacement)