⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servercomponent.java

📁 Java 3D Desktop Environment旨在使用Java 3D来创建一个3D桌面环境。功能包括:分布式的应用程序
💻 JAVA
字号:
/* * Copyright (c) 2000, Niklas Mehner  * All rights reserved. *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met: *  *   - Redistributions of source code must retain the above copyright  *     notice, this list of conditions and the following disclaimer. *  *   - Redistributions in binary form must reproduce the above copyright  *     notice, this list of conditions and the following disclaimer in  *     the documentation and/or other materials provided with the  *     distribution. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  */ package org.j3de;      
           
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import org.j3de.exception.ExceptionHandler;
import org.j3de.util.ConfigHelper; 
import org.j3de.util.Configurable;
import org.j3de.util.ConfigurationException;

/** 
 * ServerComponent wrapps the j3de server in a component, that can be included in the client. This way a local server
 * is started. Basically all commandline arguments are in this case taken from the configuration file.
 * @author Niklas Mehner
 * @version $Revision: 1.3 $, $Date: 2000/09/06 21:42:50 $
 * @since  j3de 1.0
 */
public class ServerComponent implements Configurable {
  private final static String CONFIG_FILE         = "configfile"; 
  private final static String DEFAULT_CONFIG_FILE = "config-server.xml"; 
  
  private Server  server;
  private String  configFile;
  private ConfigHelper helper;
  
  /**
   * Creates a new ServerComponent. No parameters, because all parameters are set in the configure-method.
   */
  public ServerComponent() {
    helper = null;
  }
  
  /** Configure the component.
   * @param node contains the root node for the configuration of this component.
   * @param nodeFactory the nodeFactory gives the component the possibility to create new configuration entries.
   * @throws ConfigurationException if the configuration is incorrect
   */ 
  public void configure(Node node, Document nodeFactory) throws ConfigurationException {  
    if (helper == null)
      helper = new ConfigHelper(node, nodeFactory, false);  
    
    configFile = helper.getPropertyValue(CONFIG_FILE, DEFAULT_CONFIG_FILE, true);  
    try {
      server = new Server(configFile);          
    } catch (Exception e) {
      ExceptionHandler.handleException(e);
    }
  }
  
  /** Configure the component. This method is called, after a new 
   * Component is created, or when the user wants a change in the configuration.
   * The component might have to create a new configuration. If UI is required,
   * only swing components may be used, because Gui3D might not be available
   * yet.
   * @param nodeFactory the nodeFactory gives the component the possibility to create new configuration entries.
   * @param componentName the Name that is assigned to this component
   * @throws ConfigurationException if the configuration is incorrect
   * @return new configuration
   */
  public Node configure(Document nodeFactory, String componentName) throws ConfigurationException {
    Element component = ConfigHelper.newComponent(nodeFactory, componentName, this);
    
    ConfigHelper helper = new ConfigHelper(component, nodeFactory, true);
    helper.newProperty(CONFIG_FILE, DEFAULT_CONFIG_FILE);
                                                    
    configure(component, nodeFactory); 
        
    return component;
  }    
  
  /** 
   * Returns wether the configuration has been changed since it was read or last saved.
   * @return true if the configuration has been changed.
   */
  public boolean isConfigurationChanged() {  
    return helper.isConfigurationChanged();
  }   
  
  /**
   * Informs the component, that it's configuration has been saved.
   */
  public void configurationSaved() {
    helper.configurationSaved();
  }
  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -