`ApplicationHolder.java`
`01 /* 02 * Copyright 2010-2012 the original author or authors. 03 * 04 * Licensed under the Apache License, Version 2.0 (the "License"); 05 * you may not use this file except in compliance with the License. 06 * You may obtain a copy of the License at 07 * 08 * http://www.apache.org/licenses/LICENSE-2.0 09 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package griffon.util; 17 18 import griffon.core.GriffonApplication; 19 20 /** 21 * Utility class that holds a reference to the current application.<p> 22 * Usage of this class with Griffon artifacts/addons instances is highly discouraged 23 * as those instances should have an <tt>app</tt> property of their own. This class 24 * is provided as a convenience for non Griffon artifacts. 25 * 26 * @author Andres Almiray 27 * @since 0.9.1 28 */ 29 public class ApplicationHolder { 30 private static GriffonApplication applicationInstance; 31 32 /** 33 * Returns the current running application. 34 * 35 * @return a reference to the current running application 36 */ 37 public static synchronized GriffonApplication getApplication() { 38 return applicationInstance; 39 } 40 41 /** 42 * Stores a reference to an application. 43 * 44 * @param application an application instance 45 */ 46 public static synchronized void setApplication(GriffonApplication application) { 47 applicationInstance = application; 48 } 49 }`