package games.strategy.engine.data;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import games.strategy.triplea.delegate.TechAdvance;
public class TechnologyFrontierList extends GameDataComponent {
private static final long serialVersionUID = 2958122401265284935L;
private final List<TechnologyFrontier> m_technologyFrontiers = new ArrayList<>();
public TechnologyFrontierList(final GameData data) {
super(data);
}
public void addTechnologyFrontier(final TechnologyFrontier tf) {
m_technologyFrontiers.add(tf);
}
public void addTechnologyFrontier(final List<TechnologyFrontier> tfs) {
for (final TechnologyFrontier tf : tfs) {
m_technologyFrontiers.add(tf);
}
}
public int size() {
return m_technologyFrontiers.size();
}
public TechnologyFrontier getTechnologyFrontier(final String name) {
for (final TechnologyFrontier tf : m_technologyFrontiers) {
if (tf.getName().equals(name)) {
return tf;
}
}
return null;
}
public List<TechAdvance> getAdvances() {
final List<TechAdvance> techs = new ArrayList<>();
for (final TechnologyFrontier t : m_technologyFrontiers) {
techs.addAll(t.getTechs());
}
return techs;
}
public List<TechnologyFrontier> getFrontiers() {
return Collections.unmodifiableList(m_technologyFrontiers);
}
public boolean isEmpty() {
return size() == 0;
}
}