}
private void dirScanRecursive(Selector<DirectoryMKB10Item> selector, ArrayList<DirectoryMKB10Item> items, MKBCode code) throws ParseException, ClipsException{
int size = selector.size();
for (int i = 0; i < size; i++){
DirectoryMKB10Item item = selector.get(i);
if (item.getID() == 0){
continue;
}
MKBCode itemCode = item.getDecodedCode();
CompareResould res = code.advanceCompare(itemCode);
switch (res){
case less:
break;
case more:
break;
case contains:
if (selectType == SelectType.oneToOne){
throw new ClipsException("Код " + code + " не соотведстует не одному коду в базе данных");
}
items.add(item);
break;
case equal:
items.add(item);
return;
case cross:
if (selectType == SelectType.oneToOne){
throw new ClipsException("Код " + code + " не соотведстует не одному коду в базе данных");
}
dirScanRecursive(item.getItems(), items, code);
break;
case inside:
dirScanRecursive(item.getItems(), items, code);
break;
default:
throw new RuntimeException("Unsupported CompareResould");
}
}