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); ```
Modifier and Type | Method and 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. |
public Negate(Filter delegate)
public boolean isKeep(TridentTuple tuple)
Filter
Determines if a tuple should be filtered out of a stream.
public void prepare(Map<String,Object> conf, TridentOperationContext context)
Operation
Called when the Operation
is first initialized.
prepare
in interface Operation
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.TridentOperationContext
Copyright © 2020 The Apache Software Foundation. All rights reserved.