/**
*
*/
package org.nightlabs.jfire.trade.ui.store.search;
import org.eclipse.swt.widgets.Composite;
import org.nightlabs.base.ui.composite.XComposite.LayoutDataMode;
import org.nightlabs.base.ui.composite.XComposite.LayoutMode;
import org.nightlabs.jdo.query.QueryProvider;
import org.nightlabs.jfire.base.ui.search.AbstractQueryFilterComposite;
import org.nightlabs.jfire.base.ui.search.AbstractQueryFilterFactory;
import org.nightlabs.jfire.store.search.AbstractProductTypeQuery;
/**
* @author Daniel Mazurek - daniel [at] nightlabs [dot] de
*
*/
public abstract class AbstractProductTypeSearchQueryFilterFactory<Q extends AbstractProductTypeQuery>
extends AbstractQueryFilterFactory<Q>
{
/* (non-Javadoc)
* @see org.nightlabs.jfire.base.ui.overview.search.QueryFilterFactory#createQueryFilter(org.eclipse.swt.widgets.Composite, int, org.nightlabs.base.ui.composite.XComposite.LayoutMode, org.nightlabs.base.ui.composite.XComposite.LayoutDataMode, org.nightlabs.jdo.query.QueryProvider)
*/
@Override
public AbstractQueryFilterComposite<Q> createQueryFilter(Composite parent,
int style, LayoutMode layoutMode, LayoutDataMode layoutDataMode,
QueryProvider<? super Q> queryProvider)
{
return new ProductTypeSearchCriteriaComposite<Q>(parent, style, layoutMode,
layoutDataMode, queryProvider, getQueryClass());
}
protected abstract Class<Q> getQueryClass();
}