/*
 * Copyright (C) 2009 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package com.google.ase.interpreter.bsh;

import java.io.File;

import com.google.ase.AndroidFacade;
import com.google.ase.Constants;
import com.google.ase.interpreter.AbstractInterpreter;
import com.google.ase.interpreter.InterpreterProcessInterface;

public class BshInterpreter extends AbstractInterpreter {

  @Override
  public String getExtension() {
    return ".bsh";
  }

  @Override
  public String getName() {
    return "bsh";
  }

  @Override
  public String getNiceName() {
    return "BeanShell 2.0b4";
  }

  @Override
  public String getContentTemplate() {
    return "source(\"/sdcard/ase/extras/bsh/android.bsh\");\ndroid = Android();\n";
  }

  @Override
  public InterpreterProcessInterface buildProcess(AndroidFacade facade, String scriptName) {
    return new BshInterpreterProcess(facade, scriptName);
  }

  @Override
  public String getInterpreterArchiveUrl() {
    return Constants.BASE_INSTALL_URL + "beanshell/" + getInterpreterArchiveName();
  }

  @Override
  public String getScriptsArchiveUrl() {
    return Constants.BASE_INSTALL_URL + "beanshell/" + getScriptsArchiveName();
  }

  @Override
  public String getInterpreterExtrasArchiveUrl() {
    return Constants.BASE_INSTALL_URL + "beanshell/" + getInterpreterExtrasArchiveName();
  }

  @Override
  public boolean hasInterpreterArchive() {
    return false;
  }

  @Override
  public boolean hasInterpreterExtrasArchive() {
    return true;
  }

  @Override
  public boolean hasScriptsArchive() {
    return true;
  }

  @Override
  public File getBinary() {
    return null;
  }

}

@@ -693,41 +693,8 @@
 de;%0A
-import com.google.ase.Constants;%0A
 impo
@@ -1390,450 +1390,8 @@
  %7D%0A%0A
-  @Override%0A  public String getInterpreterArchiveUrl() %7B%0A    return Constants.BASE_INSTALL_URL + %22beanshell/%22 + getInterpreterArchiveName();%0A  %7D%0A%0A  @Override%0A  public String getScriptsArchiveUrl() %7B%0A    return Constants.BASE_INSTALL_URL + %22beanshell/%22 + getScriptsArchiveName();%0A  %7D%0A%0A  @Override%0A  public String getInterpreterExtrasArchiveUrl() %7B%0A    return Constants.BASE_INSTALL_URL + %22beanshell/%22 + getInterpreterExtrasArchiveName();%0A  %7D%0A%0A
   @O

Fix beanshell interpreter.