package com.cloudera.flume.core;
import java.io.IOException;
import com.cloudera.flume.conf.Context;
import com.cloudera.flume.conf.SinkFactory.SinkDecoBuilder;
import com.google.common.base.Preconditions;
public class MaskDecorator<S
extends EventSink>
extends EventSinkDecorator<S> {
String[] attrs;
super(s);
this.attrs = attrs;
}
@Override
public void append(Event e)
throws IOException {
Event e2 = EventImpl.unselect(e, attrs);
super.append(e2);
}
public static SinkDecoBuilder
builder() {
return new SinkDecoBuilder() {
@Override
public EventSinkDecorator<EventSink>
build(Context context,
String... argv) {
Preconditions.checkArgument(argv.length >= 1, "usage: mask(attr1,...)");
return new MaskDecorator<EventSink>(null, argv);
}
};
}
}