2 * Copyright (c) 2009-2010 jMonkeyEngine
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 package com.jme3.system;
34 import com.jme3.asset.AssetManager;
35 import com.jme3.audio.AudioRenderer;
37 import java.io.InputStream;
39 import java.util.logging.Logger;
41 public class JmeSystem {
43 private static final Logger logger = Logger.getLogger(JmeSystem.class.getName());
44 private static boolean initialized = false;
46 private static JmeSystemDelegate delegate;
50 delegate = (JmeSystemDelegate) Class.forName("com.jme3.system.JmeSystemDelegateImpl").newInstance();
51 } catch (Exception ex) {
52 throw new RuntimeException("initialize failed.", ex);
56 public static boolean trackDirectMemory() {
60 public static JmeSystemDelegate getDelegate() {
64 public static void setDelegate(JmeSystemDelegate delegate) {
65 JmeSystem.delegate = delegate;
68 public static void setLowPermissions(boolean lowPerm) {
69 delegate.setLowPermissions(lowPerm);
72 public static boolean isLowPermissions() {
73 return delegate.isLowPermissions();
76 public static AssetManager newAssetManager(URL configFile) {
77 return delegate.newAssetManager(configFile);
80 public static AssetManager newAssetManager() {
81 return delegate.newAssetManager(null);
84 public static boolean showSettingsDialog(AppSettings sourceSettings, final boolean loadFromRegistry) {
85 return delegate.showSettingsDialog(sourceSettings, loadFromRegistry);
88 public static Platform getPlatform() {
89 return delegate.getPlatform();
92 public static JmeContext newContext(AppSettings settings, JmeContext.Type contextType) {
93 return delegate.newContext(settings, contextType);
96 public static AudioRenderer newAudioRenderer(AppSettings settings) {
97 return delegate.newAudioRenderer(settings);
100 public static void initialize(AppSettings settings) {
101 delegate.initialize(settings);
105 public static String getFullName() {
106 return delegate.getFullName();
109 public static InputStream getResourceAsStream(String name) {
110 return delegate.getResourceAsStream(name);
113 public static URL getResource(String name) {
114 return delegate.getResource(name);