001package com.hammurapi.common; 002 003import javax.script.*; 004import java.util.List; 005import java.util.Arrays; 006 007public class TokenExpanderScriptEngineFactory implements javax.script.ScriptEngineFactory { 008 final List<String> extensions = Arrays.asList("token", "txt"); 009 010 final List<String> mimeTypes = Arrays.asList("application/x-token-expander"); 011 012 final List<String> names = Arrays.asList("tokenexpander"); 013 014 public String getEngineName() { 015 return "Token Expander Engine"; 016 } 017 018 public String getEngineVersion() { 019 return "1.0"; 020 } 021 022 public List<String> getExtensions() { 023 return extensions; 024 } 025 026 public List<String> getMimeTypes() { 027 return mimeTypes; 028 } 029 030 public List<String> getNames() { 031 return names; 032 } 033 034 public String getLanguageName() { 035 return "TokenExpander"; 036 } 037 038 public String getLanguageVersion() { 039 return "1.0"; 040 } 041 042 public Object getParameter(String param) { 043 if (param.equals(ScriptEngine.ENGINE)) 044 return getEngineName(); 045 if (param.equals(ScriptEngine.ENGINE_VERSION)) 046 return getEngineVersion(); 047 if (param.equals(ScriptEngine.NAME)) 048 return getEngineName(); 049 if (param.equals(ScriptEngine.LANGUAGE)) 050 return getLanguageName(); 051 if (param.equals(ScriptEngine.LANGUAGE_VERSION)) 052 return getLanguageVersion(); 053 if (param.equals("THREADING")) 054 return "MULTITHREADED"; 055 056 return null; 057 } 058 059 public String getMethodCallSyntax(String objectName, String methodName, String... args) { 060 return null; 061 } 062 063 public String getOutputStatement(String message) { 064 return null; 065 } 066 067 public String getProgram(String... statements) { 068 StringBuilder sb = new StringBuilder(); 069 for (int i = 0; i < statements.length; i++) { 070 sb.append(statements[i]); 071 } 072 return sb.toString(); 073 } 074 075 public ScriptEngine getScriptEngine() { 076 return new TokenExpanderScriptEngine(); 077 } 078 079 // End impl ScriptEngineFactory 080}