package com.openedit.hittracker; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.openedit.data.BaseData; public class FilterNode extends BaseData { protected List fieldChildren; protected boolean isSelected; public List getChildren() { if (fieldChildren == null) { fieldChildren = new ArrayList(); } return fieldChildren; } public void setChildren(List inChildren) { fieldChildren = inChildren; } public boolean isSelected() { return isSelected; } public void setSelected(boolean inIsSelected) { isSelected = inIsSelected; } public void addChild(FilterNode inFilterNode) { getChildren().add(inFilterNode); } public int getCount(String inId) { FilterNode child = getChild(inId); if( child != null) { String count = child.get("count"); if( count != null) { return Integer.parseInt(count); } } return 0; } public FilterNode getChild(String inId) { for (Iterator iterator = getChildren().iterator(); iterator.hasNext();) { FilterNode child = (FilterNode) iterator.next(); if(inId.equals( child.getId() ) ) { return child; } } return null; } public boolean hasSelections(FilterNode node){ if(node.isSelected()){ return true; } if(node.getChildren().size() > 0){ for (Iterator iterator = getChildren().iterator(); iterator.hasNext();) { FilterNode child = (FilterNode) iterator.next(); if(child.isSelected()){ return true; } } } return false; } }