package input.model.impl;
import input.model.Section;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
*
* @author Marcos Basso
* @author Eduardo Solis
*
*/
public class CompositeSection extends Section{
private static final String SECTION_ID = "COMPOSITE_SECTION_ID";
private List<Section> subSections;
public CompositeSection(){
subSections = new ArrayList<Section>();
}
/**
* Add section in the list of Sections
* @param Section s
*/
public void addSection(Section s){
subSections.add(s);
}
/**
* Remove section
* @param Section s
*/
public void removeSection(Section s){
subSections.remove(s);
}
/**
* Return the subSections
* @return
*/
public List<Section> getSubSections(){
return subSections;
}
/**
* @see input.model.Section#getSections()
*/
@Override
public List<Section> getSections() {
List<Section> list = new ArrayList<Section>();
Item item = new Item();
item.setName(this.getName());
item.setText(this.getText());
list.add(item);
for(int i=0; i < subSections.size();i++){
Section s = subSections.get(i);
list.addAll(s.getSections());
}
return list;
}
@Override
public String getId() {
return SECTION_ID + UUID.randomUUID().toString();
}
}