| /*=============================================================================# |
| # Copyright (c) 2009, 2017 Stephan Wahlbrink and others. |
| # |
| # This program and the accompanying materials are made available under the |
| # terms of the Eclipse Public License 2.0 which is available at |
| # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 |
| # which is available at https://www.apache.org/licenses/LICENSE-2.0. |
| # |
| # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 |
| # |
| # Contributors: |
| # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation |
| #=============================================================================*/ |
| |
| package org.eclipse.statet.rj.server.srv.engine; |
| |
| import java.rmi.RemoteException; |
| import java.util.Map; |
| |
| import org.eclipse.statet.rj.server.REngine; |
| import org.eclipse.statet.rj.server.RjsComObject; |
| import org.eclipse.statet.rj.server.Server; |
| import org.eclipse.statet.rj.server.srvext.Client; |
| |
| |
| public final class REngineImpl implements REngine { |
| |
| |
| private final Server publicServer; |
| private final SrvEngine srvEngine; |
| private final Client client; |
| |
| |
| public REngineImpl(final Server publicServer, final SrvEngine srvEngine, final Client client) { |
| this.publicServer= publicServer; |
| this.srvEngine= srvEngine; |
| this.client= client; |
| } |
| |
| |
| @Override |
| public Server getPublic() throws RemoteException { |
| return this.publicServer; |
| } |
| |
| @Override |
| public Map<String, Object> getPlatformData() { |
| return this.srvEngine.getPlatformData(); |
| } |
| |
| @Override |
| public void setProperties(final Map<String, ? extends Object> properties) throws RemoteException { |
| this.srvEngine.setProperties(this.client, properties); |
| } |
| |
| @Override |
| public void disconnect() throws RemoteException { |
| this.srvEngine.disconnect(this.client); |
| } |
| |
| @Override |
| public RjsComObject runAsync(final RjsComObject com) throws RemoteException { |
| return this.srvEngine.runAsync(this.client, com); |
| } |
| |
| @Override |
| public RjsComObject runMainLoop(final RjsComObject com) throws RemoteException { |
| return this.srvEngine.runMainLoop(this.client, com); |
| } |
| |
| @Override |
| public boolean isClosed() throws RemoteException { |
| return (this.srvEngine.getCurrentClient() != this.client); |
| } |
| |
| } |