protected function processItem($item, Result $result)
{
$written = false;
foreach ($this->pipeline as $element) {
if ($element instanceof FilterPipe && $element->getField()) {
if ($element->getFilter()->filter(Vale::get($item, $element->getField())) === false) {
return;
}
} elseif ($element instanceof FilterPipe) {
if ($element->getFilter()->filter($item) === false) {
return;
}
} elseif ($element instanceof ConverterPipe && $element->getField()) {
$item = $this->convertItemValue($item, $element);
} elseif ($element instanceof ConverterPipe) {
$item = $this->convertItem($item, $element);
if ($item === null) {
return;
}
} elseif ($element instanceof WriterPipe) {
if ($this->writeItem($item, $element) === true) {
$result->incWriteCount();
$written = true;
}
}
}
if ($written === true) {
$result->incItemWriteCount();
}
}