

package gov.va.med.cds.persistence;


import gov.va.med.cds.filter.EntryFilterInterface;
import gov.va.med.cds.persistence.hibernate.ModelAssemblerInterface;
import gov.va.med.cds.template.generated.JaxBMarshallerUnmarshallerInterface;

import java.util.List;

import org.hibernate.SessionFactory;


public interface QueryStrategyInterface
{
    List<QueryWorkInterface> createQueryWork( SessionFactory factory, EntryFilterInterface entryFilter, List<String> personIdentifiers, Class<?> pointInTimeUserType, String siteId, JaxBMarshallerUnmarshallerInterface marshallerUnmarshaller );

    ModelAssemblerInterface getModelAssembler();
}
