1
2
3
4
5
6 package pt.digitalis.dif.ioc;
7
8 import pt.digitalis.dif.dem.managers.ICustomFormManager;
9 import pt.digitalis.dif.dem.managers.impl.CustomFormManagerDummyImpl;
10 import pt.digitalis.dif.dem.objects.parameters.IParameter;
11 import pt.digitalis.dif.dem.objects.parameters.IParameters;
12 import pt.digitalis.dif.dem.objects.parameters.ParametersImpl;
13 import pt.digitalis.dif.dem.objects.parameters.constraints.IParameterConstraint;
14 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintAlphabeticImpl;
15 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintEmailImpl;
16 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintMaxSizeImpl;
17 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintMinSizeImpl;
18 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.ParameterConstraintRegexImpl;
19 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.date.ParameterConstraintDateAbsoluteImpl;
20 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.date.ParameterConstraintDateImpl;
21 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.date.ParameterConstraintDateInFutureImpl;
22 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.date.ParameterConstraintDateInPastImpl;
23 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.date.ParameterConstraintDateRelativeImpl;
24 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.numeric.ParameterConstraintMaxImpl;
25 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.numeric.ParameterConstraintMinImpl;
26 import pt.digitalis.dif.dem.objects.parameters.constraints.impl.numeric.ParameterConstraintNumericImpl;
27 import pt.digitalis.dif.dem.objects.parameters.rules.IParameterRule;
28 import pt.digitalis.dif.dem.objects.parameters.rules.ParameterRuleDependent;
29 import pt.digitalis.dif.dem.objects.parameters.rules.ParameterRuleExclusive;
30 import pt.digitalis.dif.dem.objects.parameters.types.BigDecimalParameter;
31 import pt.digitalis.dif.dem.objects.parameters.types.BooleanParameter;
32 import pt.digitalis.dif.dem.objects.parameters.types.DateParameter;
33 import pt.digitalis.dif.dem.objects.parameters.types.DocumentParameter;
34 import pt.digitalis.dif.dem.objects.parameters.types.DoubleParameter;
35 import pt.digitalis.dif.dem.objects.parameters.types.LongParameter;
36 import pt.digitalis.dif.dem.objects.parameters.types.StringParameter;
37 import pt.digitalis.utils.ioc.modules.IIoCModule;
38 import pt.digitalis.utils.ioc.modules.IoCBinder;
39
40
41
42
43
44
45
46
47 public class ParametersModule implements IIoCModule {
48
49
50
51
52 public void configure(IoCBinder binder)
53 {
54
55
56 binder.bind(IParameters.class, ParametersImpl.class);
57
58
59 binder.bind(IParameter.class, StringParameter.class).withId("string");
60 binder.bind(IParameter.class, LongParameter.class).withId("long");
61 binder.bind(IParameter.class, DoubleParameter.class).withId("double");
62 binder.bind(IParameter.class, BooleanParameter.class).withId("boolean");
63 binder.bind(IParameter.class, DateParameter.class).withId("date");
64 binder.bind(IParameter.class, DocumentParameter.class).withId("document");
65 binder.bind(IParameter.class, BigDecimalParameter.class).withId("bigdecimal");
66
67
68 binder.bind(IParameterConstraint.class, ParameterConstraintAlphabeticImpl.class).withId("alphabetic");
69 binder.bind(IParameterConstraint.class, ParameterConstraintMinSizeImpl.class).withId("minsize");
70 binder.bind(IParameterConstraint.class, ParameterConstraintMaxSizeImpl.class).withId("maxsize");
71
72 binder.bind(IParameterConstraint.class, ParameterConstraintNumericImpl.class).withId("numeric");
73 binder.bind(IParameterConstraint.class, ParameterConstraintMinImpl.class).withId("min");
74 binder.bind(IParameterConstraint.class, ParameterConstraintMaxImpl.class).withId("max");
75
76 binder.bind(IParameterConstraint.class, ParameterConstraintRegexImpl.class).withId("regex");
77 binder.bind(IParameterConstraint.class, ParameterConstraintEmailImpl.class).withId("email");
78
79 binder.bind(IParameterConstraint.class, ParameterConstraintDateImpl.class).withId("date");
80 binder.bind(IParameterConstraint.class, ParameterConstraintDateRelativeImpl.class).withId("relativedate");
81 binder.bind(IParameterConstraint.class, ParameterConstraintDateAbsoluteImpl.class).withId("absolutedate");
82 binder.bind(IParameterConstraint.class, ParameterConstraintDateInPastImpl.class).withId("pastdate");
83 binder.bind(IParameterConstraint.class, ParameterConstraintDateInFutureImpl.class).withId("futuredate");
84
85
86
87
88
89 binder.bind(IParameterRule.class, ParameterRuleDependent.class).withId("dependent");
90 binder.bind(IParameterRule.class, ParameterRuleExclusive.class).withId("exclusive");
91
92
93 binder.bind(ICustomFormManager.class, CustomFormManagerDummyImpl.class).asSingleton();
94 }
95 }