# All Superinterfaces
`RamaOperation`, `RamaSerializable`, `Serializable`

---

## public interface RamaOperation4<T0,T1,T2,T3>
extends [RamaOperation](/content/javadoc/com/rpl/rama/ops/RamaOperation.html "interface in com.rpl.rama.ops"/index.html)

Interface for custom operation implementation of four arguments. An operation emits zero or more times to any number of output streams.

## Method Summary

| Modifier and Type | Method | Description |
| --- | --- | --- |
| `void` | `invoke(T0 arg0, T1 arg1, T2 arg2, T3 arg3, OutputCollector collector)` | Executes operation and emits results by calling methods on the provided [`OutputCollector`](/content/javadoc/com/rpl/rama/ops/OutputCollector.html "interface in com.rpl.rama.ops"/index.html) |

## Method Details

### invoke

`void invoke( [T0](/content/javadoc/com/rpl/rama/ops/RamaOperation4.html "type parameter in RamaOperation4"/index.html) arg0,
[T1](/content/javadoc/com/rpl/rama/ops/RamaOperation4.html "type parameter in RamaOperation4"/index.html) arg1,
[T2](/content/javadoc/com/rpl/rama/ops/RamaOperation4.html "type parameter in RamaOperation4"/index.html) arg2,
[T3](/content/javadoc/com/rpl/rama/ops/RamaOperation4.html "type parameter in RamaOperation4"/index.html) arg3,
[OutputCollector](/content/javadoc/com/rpl/rama/ops/OutputCollector.html "interface in com.rpl.rama.ops"/index.html) collector)`

Executes operation and emits results by calling methods on the provided [`OutputCollector`](/content/javadoc/com/rpl/rama/ops/OutputCollector.html "interface in com.rpl.rama.ops"/index.html)

**Parameters:** `collector` - Emits results back to caller of operation
