package com.flextrade.jfixture.behaviours.specimentype;
import com.flextrade.jfixture.SpecimenBuilder;
import com.flextrade.jfixture.SpecimenContext;
import com.flextrade.jfixture.utility.SpecimenType;
import java.lang.reflect.Type;
public class SpecimenTypeInjector implements SpecimenBuilder {
private final SpecimenBuilder builder;
public SpecimenTypeInjector(SpecimenBuilder builder) {
this.builder = builder;
}
@Override
public Object create(final Object request, SpecimenContext context) {
Object actualRequest;
if(request instanceof Type) {
actualRequest = SpecimenType.of((Type) request);
} else {
actualRequest = request;
}
return builder.create(actualRequest, context);
}
}