📄 loginapp.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.application.login;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import org.w3c.dom.Node;
import org.w3c.dom.Document;
import org.j3de.exception.ExceptionHandler;
import org.j3de.interfaces.Application;
import org.j3de.interfaces.ApplicationEnvironment;
import org.j3de.interfaces.LocalApplication;
import org.j3de.security.SystemSecurity;
import org.j3de.util.AbstractComponent;
import org.j3de.util.ConfigurationException;
/** * LoginApp provides factory for LoginRemoteApps. * The login verification is done by a SystemSecurity implementation. * * @author Niklas Mehner * @version $Revision: 1.4 $, $Date: 2000/09/08 20:50:56 $ * @since j3de 1.0 * @see LoginRemoteApp * @see org.j3de.security.SystemSecurity */ public class LoginApp extends AbstractComponent implements LocalApplication {
SystemSecurity systemSecurity;
/** * Creates a new LoginApp. */ public void LoginApp() { } /** * Creates a new application. The LoginRemoteApplication is created with parameters environment and * system-security. After that a new thread of execution is started for the application. * @param environment the environment provided by the Environment the application runs in. * @see org.j3de.security.SystemSecurity * @return the newly created application. */
public Application getApplication(ApplicationEnvironment environment) {
try {
final LoginRemoteApp app = new LoginRemoteApp(environment, systemSecurity);
new Thread(new Runnable() {
public void run() {
try {
app.run();
} catch (Exception e) {
ExceptionHandler.handleException(e);
}
}
}).start();
UnicastRemoteObject.exportObject(app);
return app;
} catch (RemoteException e) {
ExceptionHandler.handleException(e);
}
return null;
}
/** * Configures the application. * The configuration-entry in the xml file should look like : <br><br> * <code> * <component name="wrappedComponent" classname="org.j3de.application.login.LoginApp"><br> * <component name="security" classname="org.j3de.security.DefaultSystemSecurity"><br> * <!-- configuration of System security --><br> * </component> <br> * </component> <br> * </code>; * * @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 {
super.configure(node, nodeFactory);
try {
systemSecurity = (SystemSecurity)helper.getComponent("security",
org.j3de.security.DefaultSystemSecurity.class,
null,
null,
this.getClass().getClassLoader());
} catch (Exception e) {
ExceptionHandler.handleException(e);
throw new ConfigurationException("Unable to create SystemSecurity : " + e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -