001 /*
002 * Copyright 2008-2017 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.codehaus.griffon.runtime.core.mvc;
017
018 import griffon.core.artifact.GriffonController;
019 import griffon.core.artifact.GriffonModel;
020 import griffon.core.artifact.GriffonMvcArtifact;
021 import griffon.core.artifact.GriffonView;
022 import griffon.core.mvc.MVCFunction;
023 import griffon.core.mvc.MVCGroup;
024 import griffon.core.mvc.MVCGroupFunction;
025 import griffon.core.mvc.MVCGroupManager;
026 import griffon.core.mvc.MVCHandler;
027 import griffon.core.mvc.TypedMVCGroup;
028 import griffon.core.mvc.TypedMVCGroupFunction;
029
030 import javax.annotation.Nonnull;
031 import javax.inject.Inject;
032 import java.util.List;
033 import java.util.Map;
034
035 import static java.util.Objects.requireNonNull;
036
037 /**
038 * Base implementation of the MVCHandler interface.
039 *
040 * @author Andres Almiray
041 * @since 2.0.0
042 */
043 public abstract class AbstractMVCHandler implements MVCHandler {
044 private final MVCGroupManager mvcGroupManager;
045
046 @Inject
047 public AbstractMVCHandler(@Nonnull MVCGroupManager mvcGroupManager) {
048 this.mvcGroupManager = requireNonNull(mvcGroupManager, "Argument 'mvcGroupManager' must not be null");
049 }
050
051 protected MVCGroupManager getMvcGroupManager() {
052 return mvcGroupManager;
053 }
054
055 @Override
056 @Nonnull
057 public MVCGroup createMVCGroup(@Nonnull String mvcType) {
058 return mvcGroupManager.createMVCGroup(mvcType);
059 }
060
061 @Override
062 @Nonnull
063 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId) {
064 return mvcGroupManager.createMVCGroup(mvcType, mvcId);
065 }
066
067 @Override
068 @Nonnull
069 public MVCGroup createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType) {
070 return mvcGroupManager.createMVCGroup(args, mvcType);
071 }
072
073 @Override
074 @Nonnull
075 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull Map<String, Object> args) {
076 return mvcGroupManager.createMVCGroup(mvcType, args);
077 }
078
079 @Override
080 @Nonnull
081 public MVCGroup createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId) {
082 return mvcGroupManager.createMVCGroup(args, mvcType, mvcId);
083 }
084
085 @Override
086 @Nonnull
087 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
088 return mvcGroupManager.createMVCGroup(mvcType, mvcId, args);
089 }
090
091 @Override
092 @Nonnull
093 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType) {
094 return mvcGroupManager.createMVCGroup(mvcType);
095 }
096
097 @Override
098 @Nonnull
099 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
100 return mvcGroupManager.createMVCGroup(mvcType, mvcId);
101 }
102
103 @Override
104 @Nonnull
105 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType) {
106 return mvcGroupManager.createMVCGroup(args, mvcType);
107 }
108
109 @Override
110 @Nonnull
111 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args) {
112 return mvcGroupManager.createMVCGroup(mvcType, args);
113 }
114
115 @Override
116 @Nonnull
117 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
118 return mvcGroupManager.createMVCGroup(args, mvcType, mvcId);
119 }
120
121 @Override
122 @Nonnull
123 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
124 return mvcGroupManager.createMVCGroup(mvcType, mvcId, args);
125 }
126
127 @Override
128 @Nonnull
129 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType) {
130 return mvcGroupManager.createMVC(mvcType);
131 }
132
133 @Override
134 @Nonnull
135 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType) {
136 return mvcGroupManager.createMVC(args, mvcType);
137 }
138
139 @Override
140 @Nonnull
141 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull Map<String, Object> args) {
142 return mvcGroupManager.createMVC(mvcType, args);
143 }
144
145 @Override
146 @Nonnull
147 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId) {
148 return mvcGroupManager.createMVC(mvcType, mvcId);
149 }
150
151 @Override
152 @Nonnull
153 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId) {
154 return mvcGroupManager.createMVC(args, mvcType, mvcId);
155 }
156
157 @Override
158 @Nonnull
159 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
160 return mvcGroupManager.createMVC(mvcType, mvcId, args);
161 }
162
163 @Override
164 @Nonnull
165 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType) {
166 return mvcGroupManager.createMVC(mvcType);
167 }
168
169 @Override
170 @Nonnull
171 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType) {
172 return mvcGroupManager.createMVC(args, mvcType);
173 }
174
175 @Override
176 @Nonnull
177 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args) {
178 return mvcGroupManager.createMVC(mvcType, args);
179 }
180
181 @Override
182 @Nonnull
183 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
184 return mvcGroupManager.createMVC(mvcType, mvcId);
185 }
186
187 @Override
188 @Nonnull
189 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
190 return mvcGroupManager.createMVC(args, mvcType, mvcId);
191 }
192
193 @Override
194 @Nonnull
195 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
196 return mvcGroupManager.createMVC(mvcType, mvcId, args);
197 }
198
199 @Override
200 public void destroyMVCGroup(@Nonnull String mvcId) {
201 mvcGroupManager.destroyMVCGroup(mvcId);
202 }
203
204 @Override
205 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull MVCFunction<M, V, C> handler) {
206 mvcGroupManager.withMVC(mvcType, handler);
207 }
208
209 @Override
210 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M, V, C> handler) {
211 mvcGroupManager.withMVC(mvcType, mvcId, handler);
212 }
213
214 @Override
215 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull MVCFunction<M, V, C> handler) {
216 mvcGroupManager.withMVC(mvcType, mvcId, args, handler);
217 }
218
219 @Override
220 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M, V, C> handler) {
221 mvcGroupManager.withMVC(args, mvcType, mvcId, handler);
222 }
223
224 @Override
225 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull Map<String, Object> args, @Nonnull MVCFunction<M, V, C> handler) {
226 mvcGroupManager.withMVC(mvcType, args, handler);
227 }
228
229 @Override
230 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull MVCFunction<M, V, C> handler) {
231 mvcGroupManager.withMVC(args, mvcType, handler);
232 }
233
234 @Override
235 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull MVCFunction<M, V, C> handler) {
236 mvcGroupManager.withMVC(mvcType, handler);
237 }
238
239 @Override
240 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M, V, C> handler) {
241 mvcGroupManager.withMVC(mvcType, mvcId, handler);
242 }
243
244 @Override
245 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull MVCFunction<M, V, C> handler) {
246 mvcGroupManager.withMVC(mvcType, mvcId, args, handler);
247 }
248
249 @Override
250 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M, V, C> handler) {
251 mvcGroupManager.withMVC(args, mvcType, mvcId, handler);
252 }
253
254 @Override
255 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args, @Nonnull MVCFunction<M, V, C> handler) {
256 mvcGroupManager.withMVC(mvcType, args, handler);
257 }
258
259 @Override
260 public <MVC extends TypedMVCGroup, M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull MVCFunction<M, V, C> handler) {
261 mvcGroupManager.withMVC(args, mvcType, handler);
262 }
263
264 @Override
265 public void withMVCGroup(@Nonnull String mvcType, @Nonnull MVCGroupFunction handler) {
266 mvcGroupManager.withMVCGroup(mvcType, handler);
267 }
268
269 @Override
270 public void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler) {
271 mvcGroupManager.withMVCGroup(mvcType, mvcId, handler);
272 }
273
274 @Override
275 public void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull MVCGroupFunction handler) {
276 mvcGroupManager.withMVCGroup(mvcType, mvcId, args, handler);
277 }
278
279 @Override
280 public void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler) {
281 mvcGroupManager.withMVCGroup(args, mvcType, mvcId, handler);
282 }
283
284 @Override
285 public void withMVCGroup(@Nonnull String mvcType, @Nonnull Map<String, Object> args, @Nonnull MVCGroupFunction handler) {
286 mvcGroupManager.withMVCGroup(mvcType, args, handler);
287 }
288
289 @Override
290 public void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull MVCGroupFunction handler) {
291 mvcGroupManager.withMVCGroup(args, mvcType, handler);
292 }
293
294 @Override
295 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull TypedMVCGroupFunction<MVC> handler) {
296 mvcGroupManager.withMVCGroup(mvcType, handler);
297 }
298
299 @Override
300 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull TypedMVCGroupFunction<MVC> handler) {
301 mvcGroupManager.withMVCGroup(mvcType, mvcId, handler);
302 }
303
304 @Override
305 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull TypedMVCGroupFunction<MVC> handler) {
306 mvcGroupManager.withMVCGroup(mvcType, mvcId, args, handler);
307 }
308
309 @Override
310 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull TypedMVCGroupFunction<MVC> handler) {
311 mvcGroupManager.withMVCGroup(args, mvcType, mvcId, handler);
312 }
313
314 @Override
315 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args, @Nonnull TypedMVCGroupFunction<MVC> handler) {
316 mvcGroupManager.withMVCGroup(mvcType, args, handler);
317 }
318
319 @Override
320 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull TypedMVCGroupFunction<MVC> handler) {
321 mvcGroupManager.withMVCGroup(args, mvcType, handler);
322 }
323 }
|