package org.jactr.core.buffer.delegate; /* * default logging */ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.core.chunktype.IChunkType; import org.jactr.core.production.request.ChunkTypeRequest; import org.jactr.core.production.request.IRequest; /** * a simple request delegate that just fires and forgets. <br/> * <br/> * This is often used when simply wrapping an API call. * * @author harrison */ public abstract class SimpleRequestDelegate implements IRequestDelegate { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(SimpleRequestDelegate.class); final private IChunkType _chunkType; public SimpleRequestDelegate(IChunkType chunkType) { _chunkType = chunkType; } protected IChunkType getChunkType() { return _chunkType; } public boolean willAccept(IRequest request) { if (request instanceof ChunkTypeRequest) { IChunkType rCT = ((ChunkTypeRequest) request).getChunkType(); return rCT != null && rCT.isA(_chunkType); } return false; } }