package kornell.core.lom; import java.util.ArrayList; import java.util.List; public class ContentsOps { //TODO: bind directly to Contents.collectActoms public static List<Actom> collectActoms(Contents contents) { List<Actom> actoms = new ArrayList<Actom>(); for (Content content:contents.getChildren()) { collectContent(content, actoms); } return actoms; } private static void collectTopic(Topic topic, List<Actom> actoms) { for (Content content : topic.getChildren()) { collectContent(content,actoms); } } private static void collectContent(Content content, List<Actom> actoms) { ContentFormat format = content.getFormat(); //TODO: Replace if with switch if(ContentFormat.Topic.equals(format)){ collectTopic(content.getTopic(),actoms); }else if(ContentFormat.ExternalPage.equals(format)){ collectPage(content.getExternalPage(),actoms); } } private static void collectPage(ExternalPage externalPage, List<Actom> actoms) { actoms.add(externalPage); } }