1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  package it.imolinfo.jbi4cics.messageformat;
12  
13  import it.imolinfo.jbi4cics.messageformat.commarea.CommareaBeanMappingDescriptor;
14  import it.imolinfo.jbi4cics.messageformat.commarea.CommareaFormatter;
15  import it.imolinfo.jbi4cics.messageformat.jdbc.JdbcBeanMappingDescriptor;
16  import it.imolinfo.jbi4cics.messageformat.jdbc.JdbcFormatter;
17  import it.imolinfo.jbi4cics.messageformat.jdbc.JdbcStatementDescriptor;
18  import it.imolinfo.jbi4cics.service.ServiceContext;
19  
20  
21  
22  
23  
24  public class MessageFormatterFactory {
25    private static CommareaFormatter commareaFormatter=new CommareaFormatter();
26    private static JdbcFormatter jdbcFormatter=new JdbcFormatter();
27    private static ToStringMessageFormatter toStringMessageFormatter=new ToStringMessageFormatter();
28    private static NoOpMessageFormatter noOpMessageFormatter=new NoOpMessageFormatter();
29    
30    
31  
32  
33      public MessageFormatterFactory(){
34      }
35    
36  	public static MessageFormatter createMessageFormatter(ServiceContext serviceContext, boolean input){
37      MappingDescriptor mappingDescriptor=null;
38      if (input) {
39        mappingDescriptor=serviceContext.getInputMappingDescriptor();
40      }
41      else {
42        mappingDescriptor=serviceContext.getOutputMappingDescriptor();
43      }
44      if (mappingDescriptor instanceof CommareaBeanMappingDescriptor) {
45        return commareaFormatter;
46      }
47      if (mappingDescriptor instanceof JdbcBeanMappingDescriptor) {
48        return jdbcFormatter;
49      }
50      if (mappingDescriptor instanceof JdbcStatementDescriptor) {
51        return jdbcFormatter;
52      }
53      if (mappingDescriptor instanceof NoOpMappingDescriptor) {
54        return noOpMessageFormatter;
55      }    
56  		return toStringMessageFormatter;
57  	}
58  }