MentaContainer

Rev

Rev 43 | Rev 45 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 43 Rev 44
Line 107... Line 107...
107
                        throw new RuntimeException(e);
107
                        throw new RuntimeException(e);
108
                }
108
                }
109
        }
109
        }
110
110
111
        public Component ioc(String key, Component component) {
111
        public Component ioc(String key, Component component) {
112
               
-
 
113
                if (beans.containsKey(key)) throw new RuntimeException("Container already set for the bean key: " + key);
-
 
114
112
               
115
                beans.put(key, component);
113
                beans.put(key, component);
-
 
114
               
-
 
115
                // clear the singleton cache in case of adding again...
-
 
116
                singletons.remove(key);
116
117
117
                return component;
118
                return component;
118
        }
119
        }
119
       
120
       
120
        public Component ioc(String key, Class<? extends Object> klass) {
121
        public Component ioc(String key, Class<? extends Object> klass) {
Line 126... Line 127...
126
               
127
               
127
                return ioc(key, new MentaComponent(klass, singleton));
128
                return ioc(key, new MentaComponent(klass, singleton));
128
        }
129
        }
129
130
130
        public Dependency autowire(Dependency d) {
131
        public Dependency autowire(Dependency d) {
131
-
 
132
                if (dependencies.contains(d)) throw new RuntimeException("Dependency is already set: " + d.getTarget());
-
 
133
132
134
                dependencies.add(d);
133
                dependencies.add(d);
135
134
136
                return d;
135
                return d;
137
        }
136
        }