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