Subversion Repositories SmartDukaan

Rev

Rev 5536 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.alert.persistence;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import in.shop2020.alert.EntityMonitoringStatus;
import in.shop2020.alert.EntityProcessedState;
import in.shop2020.alert.EntityType;
import in.shop2020.alert.domain.AlertMapper;
import in.shop2020.alert.domain.AlertedEntity;
import in.shop2020.alert.domain.MonitoredEntity;
import in.shop2020.alert.domain.SearchFilter;

public interface EntityMapper {

        boolean isEntityMonitorable(int entityType);

        void insertEntity(MonitoredEntity monitoredEntity);

        void updateEntity(MonitoredEntity monitoredEntity);

        List<MonitoredEntity> getEntities(SearchFilter searchFilter);

        List<AlertedEntity> getAlertedEntities(SearchFilter searchFilter);

        MonitoredEntity getEntity(@Param("entityType") EntityType entityType,
                        @Param("entityIdentifier") String entityIdentifier);

        void insertAlertedEntity(AlertedEntity alertedEntity);

        void removeMonitoredEntity(@Param("entityType") EntityType entityType, @Param("entityIdentifier") String entityIdentifier);

        List<MonitoredEntity> getEntitiesToBeAlerted();

        void updateEntityProcessedState(@Param("id") long id, @Param("state") EntityProcessedState state);

        in.shop2020.alert.domain.AlertMapper getAlertMapper(@Param("entityType") EntityType entityType, @Param("eventType")int eventType);

        void activateEntityMonitoring(@Param("entityType") EntityType entityType, @Param("userIds") String userIds);

        void deActivateEntityMonitoring(@Param("entityType") EntityType entityType);

        void registerEventType(AlertMapper alertMap);

        in.shop2020.alert.domain.EntityMonitoringStatus getEntityMonitoringStatus(int entityType);

        void addEntityType(
                        in.shop2020.alert.domain.EntityMonitoringStatus entityMonStatus);

}