package com.eactive.eai.flowcontrol.jms.mapper;

import org.mapstruct.InheritInverseConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;

import com.eactive.eai.data.entity.onl.flowcontrol.jms.FCQueueReceiver;
import com.eactive.eai.data.mapper.BaseMapperConfig;
import com.eactive.eai.data.mapper.GenericMapper;
import com.eactive.eai.flowcontrol.jms.FCQueueReceiverVO;

@Mapper(config = BaseMapperConfig.class)
public interface FCQueueReceiverMapper extends GenericMapper<FCQueueReceiverVO, FCQueueReceiver> {
	@Mapping(source = "quercvername", target = "receiverName")
	@Mapping(source = "bascquercveryn", target = "bascQueRcverYn")
	@Mapping(source = "eaisevrinstncname", target = "eaiSevrInstncName")
	@Mapping(source = "nonsyncztranobstclquename", target = "errorQueueName")
	@Mapping(source = "nonsyncztranquename", target = "queueName")
	@Mapping(source = "quemsgselctctnt", target = "messageSelector")
	@Mapping(source = "quercvercnt", target = "receiverCount")
	@Mapping(source = "quercverdtalsctnt", target = "description")
	@Mapping(source = "senddlayttmval", target = "errorDelayTimeMs")
	@Mapping(source = "sendretralnotms", target = "retryCount")
	@Override
	FCQueueReceiverVO toVo(FCQueueReceiver entity);

	@InheritInverseConfiguration
	FCQueueReceiver toEntity(FCQueueReceiverVO vo);
}
