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