package com.pollex.pam.appointment.process; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.pollex.pam.service.dto.AbstractAppointmentProcessDTO; @Service public class AppointmentProcess{ @Autowired List processList; public void process(AbstractAppointmentProcessDTO dto) { AbstractAppointmentProcessDTO appointmentProcessDTO = (AbstractAppointmentProcessDTO)dto; processList.stream().forEach(process ->{ if(process.getProcessType() == appointmentProcessDTO.getContactStatus()) { process.doProcess(appointmentProcessDTO); } }); } }