MentaContainer

Rev

Rev 45 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 45 Rev 51
Line 26... Line 26...
26
           
26
           
27
            private Constructor<? extends Object> constructor = null;
27
            private Constructor<? extends Object> constructor = null;
28
           
28
           
29
            private Map<String, Method> cache = null;
29
            private Map<String, Method> cache = null;
30
           
30
           
31
            private final boolean singleton;
-
 
32
           
-
 
33
            private Object singletonValue = null;
-
 
34
-
 
35
            public MentaComponent(Class<? extends Object> klass, boolean singleton) {
31
            public MentaComponent(Class<? extends Object> klass) {
36
               
32
               
37
                this.klass = klass;
33
                this.klass = klass;
38
               
-
 
39
                this.singleton = singleton;
-
 
40
            }
34
            }
41
           
-
 
42
            public MentaComponent(Class<? extends Object> klass) {
-
 
43
               
-
 
44
                this(klass, false);
-
 
45
            }
-
 
46
           
-
 
47
            public boolean isSingleton() { return singleton; }
-
 
48
           
35
           
49
            public ConfigurableComponent addProperty(String name, Object value) {
36
            public ConfigurableComponent addProperty(String name, Object value) {
50
               
37
               
51
                if (props == null) {
38
                if (props == null) {
52
                       
39
                       
Line 193... Line 180...
193
                else if (w instanceof Double) { return Double.TYPE; }
180
                else if (w instanceof Double) { return Double.TYPE; }
194
                return null;
181
                return null;
195
            }  
182
            }  
196
           
183
           
197
            public <T> T getInstance()  {
184
            public <T> T getInstance()  {
198
               
-
 
199
                if (singleton && singletonValue != null) return (T) singletonValue;
-
 
200
               
185
               
201
                Object obj = null;
186
                Object obj = null;
202
               
187
               
203
                if (initValues != null && initValues.size() > 0) {
188
                if (initValues != null && initValues.size() > 0) {
204
                       
189
                       
Line 246... Line 231...
246
                        Object value = props.get(name);
231
                        Object value = props.get(name);
247
                       
232
                       
248
                        setValue(obj, name, value);
233
                        setValue(obj, name, value);
249
                    }
234
                    }
250
                }
235
                }
251
               
-
 
252
                if (obj != null && singleton) singletonValue = obj;
-
 
253
               
236
               
254
                return (T) obj;
237
                return (T) obj;
255
            }
238
            }
256
        }
239
        }