package org.jactr.modules.pm.common.memory;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.commonreality.identifier.IIdentifier;
import org.jactr.core.chunk.IChunk;
import org.jactr.core.production.request.ChunkTypeRequest;
public class PerceptualSearchResult
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(PerceptualSearchResult.class);
private final IChunk _indexChunk;
private final ChunkTypeRequest _originalRequest;
private final ChunkTypeRequest _expandedRequest;
private final IChunk _perceptualChunk;
private final IIdentifier _identifier;
private IChunk _errorChunk;
private boolean _isValid;
public PerceptualSearchResult(IChunk perceptualChunk, IChunk indexChunk, IIdentifier identifier,
ChunkTypeRequest originalRequest, ChunkTypeRequest expanded)
{
_perceptualChunk = perceptualChunk;
_identifier = identifier;
_indexChunk = indexChunk;
_originalRequest = originalRequest;
_expandedRequest = expanded;
_isValid = true;
}
public void setErrorCode(IChunk error)
{
_errorChunk = error;
invalidate();
}
public IChunk getErrorCode()
{
return _errorChunk;
}
public boolean isValid()
{
return _isValid;
}
public void invalidate()
{
_isValid = false;
}
public IChunk getPercept()
{
return _perceptualChunk;
}
public IChunk getLocation()
{
return _indexChunk;
}
public ChunkTypeRequest getRequest()
{
return _originalRequest;
}
public ChunkTypeRequest getLocationRequest()
{
return _expandedRequest;
}
public IIdentifier getPerceptIdentifier()
{
return _identifier;
}
@Override
public String toString()
{
return String.format("[Search found %1$s @ %3$s as %2$s]", _identifier, _perceptualChunk, _indexChunk);
}
}