package edu.uw.zookeeper.client.random;
import edu.uw.zookeeper.common.Generator;
import edu.uw.zookeeper.data.Operations;
import edu.uw.zookeeper.data.ZNodePath;
import edu.uw.zookeeper.protocol.proto.Records;
public class PathRequestGenerator implements Generator<Records.Request> {
public static PathRequestGenerator create(
Generator<? extends ZNodePath> paths,
Generator<? extends Operations.PathBuilder<? extends Records.Request, ?>> operations) {
return new PathRequestGenerator(paths, operations);
}
protected final Generator<? extends ZNodePath> paths;
protected final Generator<? extends Operations.PathBuilder<? extends Records.Request, ?>> operations;
protected PathRequestGenerator(
Generator<? extends ZNodePath> paths,
Generator<? extends Operations.PathBuilder<? extends Records.Request, ?>> operations) {
this.operations = operations;
this.paths = paths;
}
public Generator<? extends ZNodePath> getPaths() {
return paths;
}
public Generator<? extends Operations.PathBuilder<? extends Records.Request, ?>> getOperations() {
return operations;
}
@Override
public Records.Request next() {
return getOperations().next().setPath(getPaths().next()).build();
}
}