package org.openlca.core.model;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name = "tbl_impact_categories")
public class ImpactCategory extends RootEntity {
@OneToMany(cascade = { CascadeType.ALL }, orphanRemoval = true)
@JoinColumn(name = "f_impact_category")
private final List<ImpactFactor> impactFactors = new ArrayList<>();
@Column(name = "reference_unit")
private String referenceUnit;
@Override
public ImpactCategory clone() {
ImpactCategory clone = new ImpactCategory();
Util.cloneRootFields(this, clone);
clone.setReferenceUnit(getReferenceUnit());
for (ImpactFactor lciaFactor : getImpactFactors())
clone.getImpactFactors().add(lciaFactor.clone());
return clone;
}
public String getReferenceUnit() {
return referenceUnit;
}
public void setReferenceUnit(String referenceUnit) {
this.referenceUnit = referenceUnit;
}
public List<ImpactFactor> getImpactFactors() {
return impactFactors;
}
}