
org.pitest.quickbuilder.common.ConvertingBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quickbuilder Show documentation
Show all versions of quickbuilder Show documentation
Generates implementations of the Builder Pattern at runtime.
The newest version!
package org.pitest.quickbuilder.common;
import java.util.Iterator;
import java.util.List;
import org.pitest.quickbuilder.Builder;
import org.pitest.quickbuilder.Conversion;
import org.pitest.quickbuilder.Maybe;
import org.pitest.quickbuilder.SequenceBuilder;
public class ConvertingBuilder implements SequenceBuilder {
private final Builder child;
private final Conversion converter;
public ConvertingBuilder(Builder child, Conversion converter) {
this.child = child;
this.converter = converter;
}
@Override
public T build() {
return converter.convert(child.build());
}
@Override
public Maybe> next() {
if (child.next().hasNone()) {
return Maybe.none();
}
return Maybe.>some(new ConvertingBuilder(child.next().value(),converter));
}
@Override
public List build(int number) {
return Sequences.build(this, number);
}
@Override
public List buildAll() {
return Sequences.buildAll(this);
}
@Override
public SequenceBuilder limit(int limit) {
return Sequences.limit(this, limit);
}
@Override
public Iterator iterator() {
return Sequences.iterator(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy