|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.nanocontainer.script.ScriptBuilderResolver
ScriptBuilderResolver handles the task of resolving a file name to a builder name. Typical default resolution is for Groovy, BeanShell, JavaScript, Jython, and XML script names. However, you can register/replace your own builder implementations by using the registerBuilder() function.
Field Summary | |
static java.lang.String |
BEANSHELL
|
static java.lang.String |
DEFAULT_BEANSHELL_BUILDER
|
static java.lang.String |
DEFAULT_GROOVY_BUILDER
|
static java.lang.String |
DEFAULT_JAVASCRIPT_BUILDER
|
static java.lang.String |
DEFAULT_JYTHON_BUILDER
|
static java.lang.String |
DEFAULT_XML_BUILDER
|
static java.lang.String |
GROOVY
|
static java.lang.String |
JAVASCRIPT
|
static java.lang.String |
JYTHON
|
static java.lang.String |
XML
|
Constructor Summary | |
ScriptBuilderResolver()
|
Method Summary | |
java.lang.String[] |
getAllSupportedExtensions()
Retrieve a list of all supported extensions. |
java.lang.String |
getBuilderClassName(java.io.File compositionFile)
Retrieve the classname of the appropriate ScriptedContainerBuilder given the file. |
java.lang.String |
getBuilderClassName(java.lang.String extension)
Retrieve the classname of the builder to use given the provided extension. |
java.lang.String |
getBuilderClassName(java.net.URL compositionURL)
Retrieve the classname of the appropriate ScriptedContainerBuilder given the file. |
void |
registerBuilder(java.lang.String extension,
java.lang.String className)
Registers/replaces a new handler for a given extension. |
void |
resetBuilders()
Function to allow the resetting of the builder map to defaults. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String GROOVY
public static final java.lang.String BEANSHELL
public static final java.lang.String JAVASCRIPT
public static final java.lang.String JYTHON
public static final java.lang.String XML
public static final java.lang.String DEFAULT_GROOVY_BUILDER
public static final java.lang.String DEFAULT_BEANSHELL_BUILDER
public static final java.lang.String DEFAULT_JAVASCRIPT_BUILDER
public static final java.lang.String DEFAULT_XML_BUILDER
public static final java.lang.String DEFAULT_JYTHON_BUILDER
Constructor Detail |
public ScriptBuilderResolver()
Method Detail |
public java.lang.String getBuilderClassName(java.io.File compositionFile)
compositionFile
- File
public java.lang.String getBuilderClassName(java.net.URL compositionURL)
public java.lang.String getBuilderClassName(java.lang.String extension) throws UnsupportedScriptTypeException
ScriptedContainerBuilderFactory factory = new ScriptedContainerBuilderFactory(.....);
String groovyBuilderName = factory.getBuilderClassName(".groovy");
assert "org.nanocontainer.script.groovy.GroovyContainerBuilder".equals(groovyBuilderName);
extension
- String
UnsupportedScriptTypeException
public void resetBuilders()
public void registerBuilder(java.lang.String extension, java.lang.String className)
ScriptedContainerBuilderFactory factory = new ScriptedContainerBuilderFactory(...)
factory.registerBuilder(".groovy", "org.nanocontainer.script.groovy.GroovyContainerBuilder");
ScriptedContainerBuilder builder = factory.getContainerBuilder();
assertNotNull(builder);
The internal code now requires synchronization of the builder extension map since who knows what is using it when a new builder is registered.
extension
- String the extension to register under.className
- String the classname to use for the given extension.public java.lang.String[] getAllSupportedExtensions()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |