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)
FilterDetermines if a tuple should be filtered out of a stream.
public void prepare(Map<String,Object> conf, TridentOperationContext context)
OperationCalled when the Operation is first initialized.
prepare in interface Operationconf - 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.TridentOperationContextCopyright © 2021 The Apache Software Foundation. All rights reserved.