package com.cloudera.flume.conf;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import com.cloudera.flume.core.EventSink;
import com.cloudera.flume.core.EventSinkDecorator;
import com.google.common.base.Preconditions;
SinkFactory parent;
String sinkname;
EventSink sink;
Preconditions.checkArgument(parent != null);
Preconditions.checkArgument(name != null);
Preconditions.checkArgument(snk != null);
this.parent = parent;
this.sinkname = name;
this.sink = snk;
}
@Override
public EventSinkDecorator<EventSink>
getDecorator(Context context,
String name, String... args) throws FlumeSpecException {
return parent.getDecorator(context, name, args);
}
@Override
public EventSink
getSink(Context context, String name, String... args)
throws FlumeSpecException {
if (sinkname.equals(name)) {
return sink;
}
return parent.getSink(context, name, args);
}
@Override
HashSet<String> set = new HashSet<String>(parent.getSinkNames());
set.add(sinkname);
return Collections.unmodifiableSet(set);
}
@Override
return parent.getDecoratorNames();
}
}