001 package biz.hammurapi.jms.adapter; 002 003 import java.util.Map; 004 005 import javax.jms.Message; 006 import javax.jms.Session; 007 008 /** 009 * Binding components shall implement this interface. 010 * @author Pavel 011 */ 012 public interface Converter { 013 014 /** 015 * Converts message to Object. 016 * @param message Source message 017 * @param properties Configuration properties 018 * @return Object created from message data 019 */ 020 Object convert(Message message, Map properties) throws Exception; 021 022 /** 023 * Creates message and populates it from object. 024 * @param obj Source object 025 * @param session Session to create message 026 * @param properties Configuration properties 027 * @param request Request message, can be null. 028 * @return Populated and ready to send message 029 */ 030 Message convert(Object obj, Session session, Map properties, Message request) throws Exception; 031 032 /** 033 * Creates message and populates it from exception to send it over JMS. 034 * @param obj Exception 035 * @param session Session to create message 036 * @param properties Configuration properties 037 * @param request Request message, can be null. 038 * @return Populated and ready to send message 039 */ 040 Message convert(Exception e, Session session, Map properties, Message request) throws Exception; 041 042 }