001 /*
002 * Copyright 2008-2015 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.view;
017
018 import griffon.core.GriffonApplication;
019 import griffon.core.view.WindowManager;
020
021 import javax.annotation.Nonnull;
022 import javax.annotation.Nullable;
023 import javax.inject.Inject;
024 import java.util.Collection;
025 import java.util.Collections;
026 import java.util.Set;
027
028 import static java.util.Objects.requireNonNull;
029
030 /**
031 * @author Andres Almiray
032 * @since 2.0.0
033 */
034 public final class NoopWindowManager implements WindowManager<Object> {
035 private final GriffonApplication application;
036
037 @Inject
038 public NoopWindowManager(@Nonnull GriffonApplication application) {
039 this.application = requireNonNull(application, "Argument 'application' must not be null");
040 }
041
042 @Nullable
043 @Override
044 public Object findWindow(@Nonnull String name) {
045 return null;
046 }
047
048 @Nullable
049 @Override
050 public Object getAt(int index) {
051 return null;
052 }
053
054 @Nullable
055 @Override
056 public Object getStartingWindow() {
057 return null;
058 }
059
060 @Nonnull
061 @Override
062 public Collection<Object> getWindows() {
063 return Collections.emptyList();
064 }
065
066 @Nonnull
067 @Override
068 public Set<String> getWindowNames() {
069 return Collections.emptySet();
070 }
071
072 @Nullable
073 @Override
074 public String findWindowName(@Nonnull Object window) {
075 return null;
076 }
077
078 @Override
079 public int indexOf(@Nonnull Object window) {
080 return -1;
081 }
082
083 @Override
084 public void attach(@Nonnull String name, @Nonnull Object window) {
085 }
086
087 @Override
088 public void detach(@Nonnull String name) {
089 }
090
091 @Override
092 public void show(@Nonnull Object window) {
093 }
094
095 @Override
096 public void show(@Nonnull String name) {
097 }
098
099 @Override
100 public void hide(@Nonnull Object window) {
101 }
102
103 @Override
104 public void hide(@Nonnull String name) {
105 }
106
107 @Override
108 public boolean canShutdown(@Nonnull GriffonApplication app) {
109 return true;
110 }
111
112 @Override
113 public void onShutdown(@Nonnull GriffonApplication app) {
114 }
115
116 @Override
117 public int countVisibleWindows() {
118 return 0;
119 }
120
121 @Override
122 public boolean isAutoShutdown() {
123 return application.getConfiguration().getAsBoolean("application.autoShutdown", true);
124 }
125 }
|