Summary: Methods | [Expand All]

# Atom

`public interface Atom`
``

android.support.test.espresso.web.model.Atom<R>

Known Indirect Subclasses SimpleAtom, TransformingAtom<I, O>
SimpleAtom | A simple implementation of Atom suitable for subclassing.
TransformingAtom<I, O> | Decorates another atom and transforms its output to another type.

An Atom is a thin wrapper around javascript. The wrapped script can return a value or be a statement. The Atom can supply positional arguments to pass to the wrapped script. The Atom knows how to transform the result of the evaluation of the script into a higher level object.

## Summary

### Public methods
`abstract List<? extends Object>` | `getArguments(ElementReference elementContext)` Creates a list of arguments to pass to the script.
`abstract String` | `getScript()` Provides the script to be evaluated.
`abstract R` | `transform(Evaluation evaluation)` Converts an Evaluation into another more suitable type.

## Public methods

### getArguments

    List<? extends Object> getArguments (ElementReference elementContext)

Creates a list of arguments to pass to the script.

Parameters
`elementContext` | `ElementReference`: null unless an ElementReference has been supplied to execute this atom with.

Returns
`List<? extends Object>` | the List of objects to pass to the script as arguments.

### getScript

    String getScript ()

Provides the script to be evaluated.

Returns
`String` |

### transform

    R transform (Evaluation evaluation)

Converts an Evaluation into another more suitable type.

Parameters
`evaluation` | `Evaluation`

Returns
`R` |

- ## Interfaces

  - Atom
  - JSONAble
  - JSONAble.DeJSONFactory
  - TransformingAtom.Transformer

- ## Classes

  - Atoms
  - ElementReference
  - Evaluation
  - ModelCodec
  - SimpleAtom
  - TransformingAtom
  - WindowReference

- ## Enums

  - SimpleAtom.ElementReferencePlacement