package org.jactr.core.module.declarative.search.filter;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jactr.core.chunk.IChunk;
import org.jactr.core.slot.IConditionalSlot;
import org.jactr.core.slot.ISlot;
public class SlotFilter implements IChunkFilter
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(SlotFilter.class);
private final IConditionalSlot _slot;
public SlotFilter(IConditionalSlot cSlot)
{
_slot = cSlot;
}
@Override
public boolean accept(IChunk chunk)
{
try
{
ISlot chunkSlot = chunk.getSymbolicChunk().getSlot(_slot.getName());
return _slot.matchesCondition(chunkSlot.getValue());
}
catch (Exception e)
{
LOGGER.error(e);
return false;
}
}
}