package husacct.define.domain.module.modules;
import husacct.common.enums.ModuleTypes;
import husacct.define.domain.SoftwareArchitecture;
import husacct.define.domain.module.ModuleStrategy;
import husacct.define.domain.softwareunit.SoftwareUnitDefinition;
import java.util.ArrayList;
public class Component extends ModuleStrategy {
@Override
public void set(String name, String description){
this.id = STATIC_ID;
STATIC_ID++;
this.name = name;
this.description = description;
this.type = ModuleTypes.COMPONENT.toString();
this.mappedSUunits = new ArrayList<SoftwareUnitDefinition>();
this.subModules = new ArrayList<ModuleStrategy>();
}
@Override
public void copyValuestoNewModule(ModuleStrategy newModule){
newModule.setId(this.getId());
newModule.setName(this.getName());
newModule.setDescription(this.getDescription());
newModule.setParent(this.getparent());
ModuleStrategy facade = subModules.get(0);
//can be bettter implemented :TODO
SoftwareArchitecture.getInstance().removeModule(facade);
newModule.setSubModules(this.getSubModules());
newModule.setUnits(this.getUnits());
}
}