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