I've got an abstract class PricingProblemSover:
public abstract class PricingProblemSolver<T,U extends Column<T,U>, V extends PricingProblem<T, U>> implements Callable<Void>{ }
And some classes which extend this solver, for example:
public class ExactPricingProblemSolver extends PricingProblemSolver<CuttingStock, CuttingPattern, CuttingStockPricingProblem> { }
Where CuttingPattern and CuttingStockPricingProblem are resp. defined as:
public class CuttingPattern extends Column<CuttingStock, CuttingPattern> {}
public class CuttingStockPricingProblem extends PricingProblem<CuttingStock, CuttingPattern> {}
Now I need a List of solverClasses:
List<Class<PricingProblemSolver<CuttingStock, CuttingPattern, CuttingStockPricingProblem>>> solvers=Arrays.asList(ExactPricingProblemSolver.class);
This list will be used by a factory class to produce a large number of instances of these solvers for each problem instance.
The above List code gives however the following error:
Type mismatch: cannot convert from List<Class<ExactPricingProblemSolver>> to List<Class<PricingProblemSolver<CuttingStock,CuttingPattern,CuttingStockPricingProblem>>>
I'm not sure why this goes wrong. Is there a way to fix this?