Class Negate
- java.lang.Object
-
- org.apache.storm.trident.operation.builtin.Negate
-
- All Implemented Interfaces:
Serializable
,EachOperation
,Filter
,Operation
public class Negate extends Object implements Filter
A `Filter` implementation that inverts another delegate `Filter`.The `Negate.isKeep()` method simply returns the opposite of the delegate's `isKeep()` method:
```java public boolean isKeep(TridentTuple tuple) { return !this.delegate.isKeep(tuple); } ```
The `Negate` filter is useful for dividing a Stream in two based on some boolean condition.
Suppose we had a Stream named `userStream` containing information about users, and a custom `Filter` implementation, `RegisteredUserFilter` that filtered out unregistered users. We could divide the `userStream` Stream into two separate Streams -- one for registered users, and one for unregistered users -- by doing the following:
```java Stream userStream = ...
Filter registeredFilter = new ResisteredUserFilter(); Filter unregisteredFilter = new Negate(registeredFilter);
Stream registeredUserStream = userStream.each(userStream.getOutputFields(), registeredFilter); Stream unregisteredUserStream = userStream.each(userStream.getOutputFields(), unregisteredFilter); ```
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanup()
When running in local mode, called when the local cluster is being shut down.boolean
isKeep(TridentTuple tuple)
Determines if a tuple should be filtered out of a stream.void
prepare(Map<String,Object> conf, TridentOperationContext context)
Called when the `Operation` is first initialized.
-
-
-
Constructor Detail
-
Negate
public Negate(Filter delegate)
-
-
Method Detail
-
isKeep
public boolean isKeep(TridentTuple tuple)
Description copied from interface:Filter
Determines if a tuple should be filtered out of a stream.
-
prepare
public void prepare(Map<String,Object> conf, TridentOperationContext context)
Description copied from interface:Operation
Called when the `Operation` is first initialized.- Specified by:
prepare
in interfaceOperation
- Parameters:
conf
- the Storm configuration mapcontext
- the operation context which provides information such as the number of partitions in the stream, and the current partition index. It also provides methods for registering operation-specific metrics.- See Also:
TridentOperationContext
-
-