1
2
3
4
5
6
7
8
9
10
11 package org.mule.config.spring.factories;
12
13 import org.mule.api.endpoint.EndpointBuilder;
14 import org.mule.api.endpoint.OutboundEndpoint;
15 import org.mule.api.processor.MessageProcessor;
16 import org.mule.api.routing.filter.Filter;
17 import org.mule.construct.Validator;
18 import org.mule.construct.builder.AbstractFlowConstructBuilder;
19 import org.mule.construct.builder.ValidatorBuilder;
20 import org.mule.routing.MessageFilter;
21
22 public class ValidatorFactoryBean extends AbstractFlowConstructFactoryBean
23 {
24 final ValidatorBuilder validatorBuilder = new ValidatorBuilder();
25
26 @Override
27 protected AbstractFlowConstructBuilder<ValidatorBuilder, Validator> getFlowConstructBuilder()
28 {
29 return validatorBuilder;
30 }
31
32 public Class<?> getObjectType()
33 {
34 return Validator.class;
35 }
36
37 public void setEndpoint(OutboundEndpoint endpoint)
38 {
39 validatorBuilder.outboundEndpoint(endpoint);
40 }
41
42 public void setMessageProcessor(MessageProcessor processor)
43 {
44 if (processor instanceof MessageFilter)
45 {
46 validatorBuilder.validationFilter(((MessageFilter) processor).getFilter());
47 }
48 else if (processor instanceof OutboundEndpoint)
49 {
50 validatorBuilder.outboundEndpoint((OutboundEndpoint) processor);
51 }
52 else
53 {
54 throw new IllegalArgumentException("Unsupported message processor: " + processor);
55 }
56 }
57
58 public void setInboundAddress(String inboundAddress)
59 {
60 validatorBuilder.inboundAddress(inboundAddress);
61 }
62
63 public void setInboundEndpoint(EndpointBuilder inboundEndpointBuilder)
64 {
65 validatorBuilder.inboundEndpoint(inboundEndpointBuilder);
66 }
67
68 public void setOutboundAddress(String outboundAddress)
69 {
70 validatorBuilder.outboundAddress(outboundAddress);
71 }
72
73 public void setOutboundEndpoint(EndpointBuilder outboundEndpointBuilder)
74 {
75 validatorBuilder.outboundEndpoint(outboundEndpointBuilder);
76 }
77
78 public void setAckExpression(String ackExpression)
79 {
80 validatorBuilder.ackExpression(ackExpression);
81 }
82
83 public void setNackExpression(String nackExpression)
84 {
85 validatorBuilder.nackExpression(nackExpression);
86 }
87
88 public void setErrorExpression(String errorExpression)
89 {
90 validatorBuilder.errorExpression(errorExpression);
91 }
92
93 public void setValidationFilter(Filter validationFilter)
94 {
95 validatorBuilder.validationFilter(validationFilter);
96 }
97 }