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:
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:
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 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 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 © 2019 The Apache Software Foundation. All Rights Reserved.