DemandHome.java
package fr.paris.lutece.plugins.grustoragedb.business;
import fr.paris.lutece.plugins.grubusiness.business.demand.Demand;
import fr.paris.lutece.plugins.grubusiness.business.demand.IDemandDAO;
import fr.paris.lutece.plugins.grubusiness.business.notification.NotificationFilter;
import fr.paris.lutece.portal.service.plugin.Plugin;
import fr.paris.lutece.portal.service.plugin.PluginService;
import fr.paris.lutece.portal.service.spring.SpringContextService;
import java.util.Collection;
import java.util.List;
/**
* This class provides instances management methods (create, find, ...) for Project objects
*/
public final class DemandHome
{
// Static variable pointed at the DAO instance
private static IDemandDAO _dao = SpringContextService.getBean( "grustoragedb.DemandDAO" );
private static Plugin _plugin = PluginService.getPlugin( "grustoragedb" );
/**
* Private constructor - this class need not be instantiated
*/
private DemandHome( )
{
}
/**
* Finds all the demands
* @return all the demands. An empty collection is returned if no demands has been found.
*/
public static List<Demand> getByIds( List<Integer> listIds)
{
return _dao.loadByIds( listIds);
}
/**
* search demands by filter
*
* @param strKey
* @return
*/
public static List<Integer> searchIdsByFilter( NotificationFilter filter )
{
return _dao.loadIdsByFilter( filter );
}
/**
* search demands by filter
*
* @param strKey
* @return
*/
public static Collection<Demand> searchByFilter( NotificationFilter filter )
{
return _dao.loadByFilter( filter );
}
/**
* Finds a demand with the specified id and type id
* @param nKey The project primary key
* @return an instance of Project
*/
public static Demand findByPrimaryKey( String strKey, String strDemandTypeId )
{
return _dao.load(strKey, strDemandTypeId);
}
/**
* Finds the demands associated to the specified customer id
* @return the list which contains the id of all the project objects
*/
public static Collection<Demand> getDemandIdCustomer(String strCustomerId )
{
return _dao.loadByCustomerId(strCustomerId);
}
/**
* Load demand ids ordered by date notification
* @param strCustomerId
* @param strNotificationType
* @param strIdDemandType (Optional can be null)
* @return The list of demand ids
*/
public static List<Integer> getIdsByCustomerIdAndDemandTypeId( String strCustomerId, String strNotificationType, String strIdDemandType )
{
return _dao.loadIdsByCustomerIdAndIdDemandType( strCustomerId, strNotificationType, strIdDemandType );
}
/**
* Load demand ids by status
* @param strCustomerId
* @param listStatus
* @param strNotificationType
* @param strIdDemandType
* @return The list of demand ids
*/
public static List<Integer> getIdsByStatus( String strCustomerId, List<String> listStatus, String strNotificationType, String strIdDemandType )
{
return _dao.loadIdsByStatus( strCustomerId, listStatus, strNotificationType, strIdDemandType );
}
/**
* Updates a demand
*
* @param demand
* the demand to update
* @return the updated demand
*/
public static Demand update( Demand demand )
{
return _dao.store( demand );
}
}