package org.ruboto; public class ScriptInfo { public static final String CLASS_NAME_KEY = "RUBOTO_CLASS_NAME"; public static final String SCRIPT_NAME_KEY = "RUBOTO_SCRIPT_NAME"; private String rubyClassName; private String scriptName; private Object rubyInstance; public boolean isReadyToLoad() { return rubyClassName != null || scriptName != null; } public boolean isLoaded() { return rubyInstance != null; } public void setFromIntent(android.content.Intent intent) { // FIXME(uwe): Deprecated as of Ruboto 0.13.0. Remove in june 2014 (twelve months). android.os.Bundle configBundle = intent.getBundleExtra("Ruboto Config"); if (configBundle != null) { if (configBundle.containsKey("ClassName")) { setRubyClassName(configBundle.getString("ClassName")); } if (configBundle.containsKey("Script")) { setScriptName(configBundle.getString("Script")); } } // EMXIF if (intent.hasExtra(CLASS_NAME_KEY)) { setRubyClassName(intent.getStringExtra(CLASS_NAME_KEY)); } if (intent.hasExtra(SCRIPT_NAME_KEY)) { setScriptName(intent.getStringExtra(SCRIPT_NAME_KEY)); } } public String getRubyClassName() { if (rubyClassName == null && scriptName != null) { return Script.toCamelCase(scriptName); } return rubyClassName; } public void setRubyClassName(String name) { rubyClassName = name; } public Object getRubyInstance() { return rubyInstance; } public void setRubyInstance(Object instance) { rubyInstance = instance; } public String getScriptName() { if (scriptName == null && rubyClassName != null) { return Script.toSnakeCase(rubyClassName) + ".rb"; } return scriptName; } public void setScriptName(String name) { scriptName = name; } }