package com.blogspot.toomuchcoding.book.chapter8._2_SOLID;
import com.blogspot.toomuchcoding.book.chapter8.common.Person;
import java.util.List;
public class RefactoredNewPersonGenerator {
private final NewIdentityCreator newIdentityCreator;
private final PersonDataUpdater personDataUpdater;
public RefactoredNewPersonGenerator(NewIdentityCreator newIdentityCreator, PersonDataUpdater personDataUpdater) {
this.newIdentityCreator = newIdentityCreator;
this.personDataUpdater = personDataUpdater;
}
public Person generateNewIdentity(Person person) {
String newName = newIdentityCreator.createNewName(person);
int newAge = newIdentityCreator.createNewAge(person);
List<Person> newSiblings = newIdentityCreator.createNewSiblings(person);
Person newPerson = new Person(newName, newAge, newSiblings);
personDataUpdater.updatePersonData(newPerson);
return newPerson;
}
}