package org.jactr.modules.pm.aural.memory.impl.map;
/*
* default logging
*/
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.commonreality.modalities.aural.DefaultAuralPropertyHandler;
import org.commonreality.modalities.aural.IAuralPropertyHandler;
import org.commonreality.object.IAfferentObject;
import org.jactr.modules.pm.common.memory.map.AbstractFeatureMap;
public abstract class AbstractAuralFeatureMap<T> extends AbstractFeatureMap<T>
{
/**
* Logger definition
*/
static private final transient Log LOGGER = LogFactory
.getLog(AbstractAuralFeatureMap.class);
static private final DefaultAuralPropertyHandler _propertyHandler = new DefaultAuralPropertyHandler();
static protected IAuralPropertyHandler getHandler()
{
return _propertyHandler;
}
public AbstractAuralFeatureMap(String requestSlotName, String crPropertyName)
{
super(requestSlotName, crPropertyName);
}
public boolean isInterestedIn(IAfferentObject object)
{
if (!getHandler().hasModality(object)) return false;
String crPropertyName = getRelevantPropertyName();
if (crPropertyName != null && object.hasProperty(crPropertyName))
return true;
return crPropertyName == null;
}
@Override
protected void objectAdded(IAfferentObject object, T data)
{
if (LOGGER.isDebugEnabled())
LOGGER.debug(this + " Added " + object.getIdentifier() + " = " + data);
}
@Override
protected void objectRemoved(IAfferentObject object, T data)
{
if (LOGGER.isDebugEnabled())
LOGGER.debug(this + " Removed " + object.getIdentifier() + " = " + data);
}
@Override
protected void objectUpdated(IAfferentObject object, T oldData, T newData)
{
if (LOGGER.isDebugEnabled())
LOGGER.debug(this + " Updated " + object.getIdentifier() + " " + oldData
+ " " + newData);
}
}