package org.jactr.extensions.cached.procedural.invalidators; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.production.IProduction; import org.jactr.core.slot.INotifyingSlotContainer; import org.jactr.extensions.cached.procedural.internal.InstantiationCache; import org.jactr.extensions.cached.procedural.internal.ListenerHub; public class SlotInvalidator extends AbstractInvalidator { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(SlotInvalidator.class); private final INotifyingSlotContainer _container; private final String _slotName; public SlotInvalidator(InstantiationCache cache, IProduction production, INotifyingSlotContainer container, String slotName) { super(cache, production); _container = container; _slotName = slotName.toLowerCase(); } public String getSlotName() { return _slotName; } public void register(ListenerHub hub) { hub.getSlotListener(_container).register(this); } public void unregister(ListenerHub hub) { hub.getSlotListener(_container).unregister(this); } }