package com.softwaremill.common.cdi.autofactory.multipleconstructors;
import com.softwaremill.common.cdi.autofactory.CreatedWith;
import com.softwaremill.common.cdi.autofactory.Discounts;
import com.softwaremill.common.cdi.autofactory.FactoryParameter;
import com.softwaremill.common.cdi.autofactory.Product;
import javax.inject.Inject;
/**
* @author Maciej Bilas
* @since 16/4/12 12:40
*/
@CreatedWith(BeanWithAdditionalDefaultConstructor.Factory.class)
public class BeanWithAdditionalDefaultConstructor {
private final Discounts discounts;
private final Product product;
public interface Factory {
public BeanWithAdditionalDefaultConstructor create(Product product);
}
public BeanWithAdditionalDefaultConstructor() {
discounts = null;
product = null;
}
@Inject
public BeanWithAdditionalDefaultConstructor(Discounts discounts, @FactoryParameter Product product) {
this.discounts = discounts;
this.product = product;
}
}