001/* 002 * $Id$ 003 */ 004 005package edu.jas.kern; 006 007 008import java.util.ArrayList; 009import java.util.Arrays; 010import java.util.Collections; 011import java.util.List; 012 013import javax.script.ScriptEngine; 014import javax.script.ScriptEngineFactory; 015 016 017public class PyScriptEngineFactory implements ScriptEngineFactory { 018 019 020 @Override 021 public String getProgram(String... S) { 022 StringBuffer sb = new StringBuffer(); 023 for (String s : S) { 024 sb.append(s + "; "); 025 } 026 return sb.toString(); 027 } 028 029 030 @Override 031 public ScriptEngine getScriptEngine() { 032 return new PyScriptEngine(); 033 } 034 035 036 @Override 037 public String getOutputStatement(String s) { 038 return s; 039 } 040 041 042 @Override 043 public String getMethodCallSyntax(String o, String m, String... S) { 044 return o + "." + m + "(" + Arrays.toString(S) + ")"; 045 } 046 047 048 @Override 049 public Object getParameter(String s) { 050 return s; 051 } 052 053 054 @Override 055 public String getLanguageVersion() { 056 return "1.0"; 057 } 058 059 060 @Override 061 public String getLanguageName() { 062 return "JAS jython"; 063 } 064 065 066 @Override 067 public String getEngineVersion() { 068 return "0.1"; 069 } 070 071 072 @Override 073 public String getEngineName() { 074 return "JAS_jython"; 075 } 076 077 078 @Override 079 public List<String> getNames() { 080 List<String> ls = new ArrayList<String>(); 081 ls.add("jython"); 082 //System.out.println("getNames: " + ls); 083 return Collections.unmodifiableList(ls); 084 } 085 086 087 @Override 088 public List<String> getMimeTypes() { 089 List<String> ls = new ArrayList<String>(); 090 ls.add("x-application/python"); 091 //System.out.println("getMimeTypes: " + ls); 092 return Collections.unmodifiableList(ls); 093 } 094 095 096 @Override 097 public List<String> getExtensions() { 098 List<String> ls = new ArrayList<String>(); 099 ls.add("py"); 100 //System.out.println("getExtensions: " + ls); 101 return Collections.unmodifiableList(ls); 102 } 103 104}