NoopWindowManager.java
001 /*
002  * Copyright 2008-2016 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 }