1
2
3
4
5
6
7
8
9
10 package org.mule.module.ibeans.annotations;
11
12 import org.mule.util.StringUtils;
13
14 import org.ibeans.api.InvocationContext;
15 import org.ibeans.api.ParamFactory;
16
17
18
19
20 public class ReversePropertyParamFactory implements ParamFactory
21 {
22 private String propertyName;
23
24 public ReversePropertyParamFactory(String propertyName)
25 {
26 this.propertyName = propertyName;
27 }
28
29 public String create(String paramName, boolean optional, InvocationContext invocationContext)
30 {
31 String prop = (String) invocationContext.getIBeanConfig().getPropertyParams().get(propertyName);
32 if (prop == null && !optional)
33 {
34 throw new IllegalArgumentException("PropertyParam value was null for: " + propertyName);
35 }
36 return StringUtils.reverse(prop);
37 }
38 }