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.Context;
019 import griffon.core.artifact.GriffonController;
020 import griffon.core.artifact.GriffonModel;
021 import griffon.core.artifact.GriffonMvcArtifact;
022 import griffon.core.artifact.GriffonView;
023 import griffon.core.mvc.MVCFunction;
024 import griffon.core.mvc.MVCGroup;
025 import griffon.core.mvc.MVCGroupConfiguration;
026 import griffon.core.mvc.MVCGroupFunction;
027 import griffon.core.mvc.TypedMVCGroup;
028 import griffon.core.mvc.TypedMVCGroupFunction;
029
030 import javax.annotation.Nonnull;
031 import javax.annotation.Nullable;
032 import java.util.List;
033 import java.util.Map;
034
035 import static java.util.Objects.requireNonNull;
036
037 /**
038 * @author Andres Almiray
039 * @since 2.11.0
040 */
041 public abstract class DelegatingMVCGroup implements MVCGroup {
042 private final MVCGroup delegate;
043
044 public DelegatingMVCGroup(@Nonnull griffon.core.mvc.MVCGroup delegate) {
045 this.delegate = requireNonNull(delegate, "delegate");
046 }
047
048 @Nonnull
049 public MVCGroup delegate() {
050 return delegate;
051 }
052
053 @Override
054 @Nonnull
055 public MVCGroupConfiguration getConfiguration() {
056 return delegate.getConfiguration();
057 }
058
059 @Override
060 @Nonnull
061 public String getMvcType() {
062 return delegate.getMvcType();
063 }
064
065 @Override
066 @Nonnull
067 public String getMvcId() {
068 return delegate.getMvcId();
069 }
070
071 @Override
072 @Nullable
073 public GriffonModel getModel() {
074 return delegate.getModel();
075 }
076
077 @Override
078 @Nullable
079 public GriffonView getView() {
080 return delegate.getView();
081 }
082
083 @Override
084 @Nullable
085 public GriffonController getController() {
086 return delegate.getController();
087 }
088
089 @Override
090 @Nullable
091 public Object getMember(@Nonnull String name) {
092 return delegate.getMember(name);
093 }
094
095 @Override
096 @Nonnull
097 public Map<String, Object> getMembers() {
098 return delegate.getMembers();
099 }
100
101 @Override
102 public void destroy() {
103 delegate.destroy();
104 }
105
106 @Override
107 public boolean isAlive() {
108 return delegate.isAlive();
109 }
110
111 @Override
112 @Nonnull
113 public Context getContext() {
114 return delegate.getContext();
115 }
116
117 @Override
118 @Nullable
119 public griffon.core.mvc.MVCGroup getParentGroup() {
120 return delegate.getParentGroup();
121 }
122
123 @Override
124 @Nonnull
125 public Map<String, MVCGroup> getChildrenGroups() {
126 return delegate.getChildrenGroups();
127 }
128
129 @Override
130 public void notifyMVCGroupDestroyed(@Nonnull String mvcId) {
131 delegate.notifyMVCGroupDestroyed(mvcId);
132 }
133
134 @Override
135 @Nonnull
136 public MVCGroup createMVCGroup(@Nonnull String mvcType) {
137 return delegate.createMVCGroup(mvcType);
138 }
139
140 @Override
141 @Nonnull
142 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId) {
143 return delegate.createMVCGroup(mvcType, mvcId);
144 }
145
146 @Override
147 @Nonnull
148 public MVCGroup createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType) {
149 return delegate.createMVCGroup(args, mvcType);
150 }
151
152 @Override
153 @Nonnull
154 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull Map<String, Object> args) {
155 return delegate.createMVCGroup(mvcType, args);
156 }
157
158 @Override
159 @Nonnull
160 public MVCGroup createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId) {
161 return delegate.createMVCGroup(args, mvcType, mvcId);
162 }
163
164 @Override
165 @Nonnull
166 public MVCGroup createMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
167 return delegate.createMVCGroup(mvcType, mvcId, args);
168 }
169
170 @Override
171 @Nonnull
172 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType) {
173 return delegate.createMVCGroup(mvcType);
174 }
175
176 @Override
177 @Nonnull
178 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
179 return delegate.createMVCGroup(mvcType, mvcId);
180 }
181
182 @Override
183 @Nonnull
184 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType) {
185 return delegate.createMVCGroup(args, mvcType);
186 }
187
188 @Override
189 @Nonnull
190 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args) {
191 return delegate.createMVCGroup(mvcType, args);
192 }
193
194 @Override
195 @Nonnull
196 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
197 return delegate.createMVCGroup(args, mvcType, mvcId);
198 }
199
200 @Override
201 @Nonnull
202 public <MVC extends TypedMVCGroup> MVC createMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
203 return delegate.createMVCGroup(mvcType, mvcId, args);
204 }
205
206 @Override
207 @Nonnull
208 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType) {
209 return delegate.createMVC(mvcType);
210 }
211
212 @Override
213 @Nonnull
214 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType) {
215 return delegate.createMVC(args, mvcType);
216 }
217
218 @Override
219 @Nonnull
220 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull Map<String, Object> args) {
221 return delegate.createMVC(mvcType, args);
222 }
223
224 @Override
225 @Nonnull
226 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId) {
227 return delegate.createMVC(mvcType, mvcId);
228 }
229
230 @Override
231 @Nonnull
232 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId) {
233 return delegate.createMVC(args, mvcType, mvcId);
234 }
235
236 @Override
237 @Nonnull
238 public List<? extends GriffonMvcArtifact> createMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
239 return delegate.createMVC(mvcType, mvcId, args);
240 }
241
242 @Override
243 @Nonnull
244 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType) {
245 return delegate.createMVC(mvcType);
246 }
247
248 @Override
249 @Nonnull
250 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType) {
251 return delegate.createMVC(args, mvcType);
252 }
253
254 @Override
255 @Nonnull
256 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args) {
257 return delegate.createMVC(mvcType, args);
258 }
259
260 @Override
261 @Nonnull
262 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
263 return delegate.createMVC(mvcType, mvcId);
264 }
265
266 @Override
267 @Nonnull
268 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId) {
269 return delegate.createMVC(args, mvcType, mvcId);
270 }
271
272 @Override
273 @Nonnull
274 public <MVC extends TypedMVCGroup> List<? extends GriffonMvcArtifact> createMVC(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args) {
275 return delegate.createMVC(mvcType, mvcId, args);
276 }
277
278 @Override
279 public void destroyMVCGroup(@Nonnull String mvcId) {
280 delegate.destroyMVCGroup(mvcId);
281 }
282
283 @Override
284 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull MVCFunction<M, V, C> handler) {
285 delegate.withMVC(mvcType, handler);
286 }
287
288 @Override
289 public <M extends GriffonModel, V extends GriffonView, C extends GriffonController> void withMVC(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCFunction<M, V, C> handler) {
290 delegate.withMVC(mvcType, mvcId, handler);
291 }
292
293 @Override
294 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) {
295 delegate.withMVC(mvcType, mvcId, args, handler);
296 }
297
298 @Override
299 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) {
300 delegate.withMVC(args, mvcType, mvcId, handler);
301 }
302
303 @Override
304 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) {
305 delegate.withMVC(mvcType, args, handler);
306 }
307
308 @Override
309 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) {
310 delegate.withMVC(args, mvcType, handler);
311 }
312
313 @Override
314 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) {
315 delegate.withMVC(mvcType, handler);
316 }
317
318 @Override
319 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) {
320 delegate.withMVC(mvcType, mvcId, handler);
321 }
322
323 @Override
324 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) {
325 delegate.withMVC(mvcType, mvcId, args, handler);
326 }
327
328 @Override
329 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) {
330 delegate.withMVC(args, mvcType, mvcId, handler);
331 }
332
333 @Override
334 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) {
335 delegate.withMVC(mvcType, args, handler);
336 }
337
338 @Override
339 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) {
340 delegate.withMVC(args, mvcType, handler);
341 }
342
343 @Override
344 public void withMVCGroup(@Nonnull String mvcType, @Nonnull MVCGroupFunction handler) {
345 delegate.withMVCGroup(mvcType, handler);
346 }
347
348 @Override
349 public void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler) {
350 delegate.withMVCGroup(mvcType, mvcId, handler);
351 }
352
353 @Override
354 public void withMVCGroup(@Nonnull String mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull MVCGroupFunction handler) {
355 delegate.withMVCGroup(mvcType, mvcId, args, handler);
356 }
357
358 @Override
359 public void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull String mvcId, @Nonnull MVCGroupFunction handler) {
360 delegate.withMVCGroup(args, mvcType, mvcId, handler);
361 }
362
363 @Override
364 public void withMVCGroup(@Nonnull String mvcType, @Nonnull Map<String, Object> args, @Nonnull MVCGroupFunction handler) {
365 delegate.withMVCGroup(mvcType, args, handler);
366 }
367
368 @Override
369 public void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull String mvcType, @Nonnull MVCGroupFunction handler) {
370 delegate.withMVCGroup(args, mvcType, handler);
371 }
372
373 @Override
374 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull TypedMVCGroupFunction<MVC> handler) {
375 delegate.withMVCGroup(mvcType, handler);
376 }
377
378 @Override
379 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull TypedMVCGroupFunction<MVC> handler) {
380 delegate.withMVCGroup(mvcType, mvcId, handler);
381 }
382
383 @Override
384 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull Map<String, Object> args, @Nonnull TypedMVCGroupFunction<MVC> handler) {
385 delegate.withMVCGroup(mvcType, mvcId, args, handler);
386 }
387
388 @Override
389 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull String mvcId, @Nonnull TypedMVCGroupFunction<MVC> handler) {
390 delegate.withMVCGroup(args, mvcType, mvcId, handler);
391 }
392
393 @Override
394 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Class<? extends MVC> mvcType, @Nonnull Map<String, Object> args, @Nonnull TypedMVCGroupFunction<MVC> handler) {
395 delegate.withMVCGroup(mvcType, args, handler);
396 }
397
398 @Override
399 public <MVC extends TypedMVCGroup> void withMVCGroup(@Nonnull Map<String, Object> args, @Nonnull Class<? extends MVC> mvcType, @Nonnull TypedMVCGroupFunction<MVC> handler) {
400 delegate.withMVCGroup(args, mvcType, handler);
401 }
402 }
|