|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.nanocontainer.script.ScriptBuilderResolver
public class 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 String |
BEANSHELL
|
static String |
DEFAULT_BEANSHELL_BUILDER
|
static String |
DEFAULT_GROOVY_BUILDER
|
static String |
DEFAULT_JAVASCRIPT_BUILDER
|
static String |
DEFAULT_JYTHON_BUILDER
|
static String |
DEFAULT_XML_BUILDER
|
static String |
GROOVY
|
static String |
JAVASCRIPT
|
static String |
JYTHON
|
static String |
XML
|
Constructor Summary | |
---|---|
ScriptBuilderResolver()
|
Method Summary | |
---|---|
String[] |
getAllSupportedExtensions()
Retrieve a list of all supported extensions. |
String |
getBuilderClassName(File compositionFile)
Retrieve the classname of the appropriate ScriptedContainerBuilder given the file. |
String |
getBuilderClassName(String extension)
Retrieve the classname of the builder to use given the provided extension. |
String |
getBuilderClassName(URL compositionURL)
Retrieve the classname of the appropriate ScriptedContainerBuilder given the file. |
void |
registerBuilder(String extension,
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 String GROOVY
public static final String BEANSHELL
public static final String JAVASCRIPT
public static final String JYTHON
public static final String XML
public static final String DEFAULT_GROOVY_BUILDER
public static final String DEFAULT_BEANSHELL_BUILDER
public static final String DEFAULT_JAVASCRIPT_BUILDER
public static final String DEFAULT_XML_BUILDER
public static final String DEFAULT_JYTHON_BUILDER
Constructor Detail |
---|
public ScriptBuilderResolver()
Method Detail |
---|
public String getBuilderClassName(File compositionFile)
compositionFile
- File
public String getBuilderClassName(URL compositionURL)
compositionFile
- File
public String getBuilderClassName(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(String extension, 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 String[] getAllSupportedExtensions()
|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |