/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.neilcsmith.praxis.live.pxs;
import net.neilcsmith.praxis.core.CallArguments;
import net.neilcsmith.praxis.core.Component;
import net.neilcsmith.praxis.core.interfaces.ScriptService;
import net.neilcsmith.praxis.core.interfaces.ServiceUnavailableException;
import net.neilcsmith.praxis.core.types.PString;
import net.neilcsmith.praxis.live.core.api.ExtensionProvider;
import net.neilcsmith.praxis.live.core.api.HubUnavailableException;
import net.neilcsmith.praxis.live.util.AbstractHelperComponent;
import org.openide.util.Exceptions;
import org.openide.util.lookup.ServiceProvider;
/**
*
* @author Neil C Smith (http://neilcsmith.net)
*/
@ServiceProvider(service = ExtensionProvider.class)
public class PXSHelper implements ExtensionProvider {
private final static ComponentImpl component = new ComponentImpl();
@Override
public Component getExtensionComponent() {
return component;
}
public static void executeScript(String script) {
component.executeScript(script);
}
private static class ComponentImpl extends AbstractHelperComponent {
private void executeScript(String script) {
try {
send(ScriptService.INSTANCE, ScriptService.EVAL, CallArguments.create(PString.valueOf(script)), null);
} catch (HubUnavailableException ex) {
Exceptions.printStackTrace(ex);
} catch (ServiceUnavailableException ex) {
Exceptions.printStackTrace(ex);
}
}
}
}