Package edu.mit.simile.butterfly
Class ButterflyModuleImpl
- java.lang.Object
-
- edu.mit.simile.butterfly.ButterflyModuleImpl
-
- All Implemented Interfaces:
ButterflyModule
public class ButterflyModuleImpl extends Object implements ButterflyModule
This class is the base implementation of ButterflyModule and implements the basic functionality that is made available to Butterfly modules. If you want special functionality that Butterfly does not expose to your modules, it is highly suggested that you extend this class instead of implementing the ButterflyModule interface yourself
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classButterflyModuleImpl.Level
-
Field Summary
Fields Modifier and Type Field Description protected ClassLoader_classLoaderprotected javax.servlet.ServletConfig_configprotected Map<String,ButterflyModule>_dependenciesprotected ButterflyModule_extendedprotected Set<ButterflyModule>_extendedByprotected Set<String>_implementationsprotected static org.slf4j.Logger_loggerprotected Map<String,ButterflyModule>_modulesprotected ButterflyMounter_mounterprotected MountPoint_mountPointprotected String_nameprotected Set<TimerTask>_packersprotected File_pathprotected org.apache.commons.collections.ExtendedProperties_propertiesprotected Set<ButterflyScriptableObject>_scriptablesprotected org.apache.commons.collections.OrderedMap_scriptsprotected File_tempDirprotected org.apache.velocity.app.VelocityEngine_templateEngineprotected Timer_timerprotected Stringencodingprotected Patternimages_patternprotected Patternmod_inf_patternprotected Patternsuper_pattern
-
Constructor Summary
Constructors Constructor Description ButterflyModuleImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExtendedBy(ButterflyModule extendedBy)voiddestroy()StringgetContextPath(javax.servlet.http.HttpServletRequest request, boolean absolute)Map<String,ButterflyModule>getDependencies()ButterflyModulegetExtendedModule()Set<ButterflyModule>getExtendingModules()PrintWritergetFilteringWriter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean absolute)Set<String>getImplementations()ButterflyModulegetModule(String name)ButterflyMountergetMounter()MountPointgetMountPoint()StringgetName()FilegetPath()org.apache.commons.collections.ExtendedPropertiesgetProperties()StringgetRelativePath(javax.servlet.http.HttpServletRequest request)URLgetResource(String resource)protected ButterflyScopegetScope(org.mozilla.javascript.Context context, javax.servlet.http.HttpServletRequest request)Set<ButterflyScriptableObject>getScriptables()javax.servlet.ServletConfiggetServletConfig()javax.servlet.ServletContextgetServletContext()StringgetString(javax.servlet.http.HttpServletRequest request)org.apache.velocity.app.VelocityEnginegetTemplateEngine()FilegetTemporaryDir()voidinit(javax.servlet.ServletConfig config)voidinitScope(org.mozilla.javascript.Context context, org.mozilla.javascript.Scriptable scope)List<ButterflyModuleImpl.Level>makePath(String path, Map<String,String> descs)booleanprocess(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)This method is called by Butterfly when preProcess returns false and allows modules that want to have a controller in Java instead of Javascript.protected booleanprocessScript(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)booleanredirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String location)protected voidscriptInit()protected booleansend(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, boolean filtering, String encoding, String mimeType, String prologue, String epilogue, boolean absolute)booleansendBinary(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String file, String mimeType)booleansendBinary(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String mimeType)booleansendError(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int code, String str)booleansendLessen(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String path, String encoding, String mimeType, boolean absolute)booleansendLessenTokenStream(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, com.metaweb.lessen.tokenizers.Tokenizer tokenizer, String encoding, String mimeType, boolean absolute)booleansendString(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String str, String encoding, String mimeType)booleansendText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String file, String encoding, String mimeType, boolean absolute)booleansendText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String encoding, String mimeType, boolean absolute)booleansendTextFromTemplate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.apache.velocity.VelocityContext velocity, String template, String encoding, String mimeType, boolean absolute)booleansendWrappedText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String encoding, String mimeType, String prologue, String epilogue, boolean absolute)voidsetClassLoader(ClassLoader classLoader)voidsetDependency(String name, ButterflyModule module)voidsetExtended(ButterflyModule extended)voidsetImplementation(String id)voidsetModules(Map<String,ButterflyModule> map)voidsetMounter(ButterflyMounter mounter)voidsetMountPoint(MountPoint mountPoint)voidsetName(String name)voidsetPath(File path)voidsetProperties(org.apache.commons.collections.ExtendedProperties properties)voidsetScript(URL url, org.mozilla.javascript.Script script)voidsetScriptable(ButterflyScriptableObject scriptable)voidsetTemplateEngine(org.apache.velocity.app.VelocityEngine templateEngine)voidsetTemporaryDir(File tempDir)voidsetTimer(Timer timer)StringtoString()
-
-
-
Field Detail
-
_logger
protected static final org.slf4j.Logger _logger
-
_classLoader
protected ClassLoader _classLoader
-
_timer
protected Timer _timer
-
_config
protected javax.servlet.ServletConfig _config
-
_path
protected File _path
-
_mountPoint
protected MountPoint _mountPoint
-
_mounter
protected ButterflyMounter _mounter
-
_name
protected String _name
-
_tempDir
protected File _tempDir
-
_extended
protected ButterflyModule _extended
-
_extendedBy
protected Set<ButterflyModule> _extendedBy
-
_dependencies
protected Map<String,ButterflyModule> _dependencies
-
_properties
protected org.apache.commons.collections.ExtendedProperties _properties
-
_modules
protected Map<String,ButterflyModule> _modules
-
_templateEngine
protected org.apache.velocity.app.VelocityEngine _templateEngine
-
_scripts
protected org.apache.commons.collections.OrderedMap _scripts
-
_scriptables
protected Set<ButterflyScriptableObject> _scriptables
-
super_pattern
protected Pattern super_pattern
-
images_pattern
protected Pattern images_pattern
-
mod_inf_pattern
protected Pattern mod_inf_pattern
-
encoding
protected String encoding
-
-
Method Detail
-
init
public void init(javax.servlet.ServletConfig config) throws Exception- Specified by:
initin interfaceButterflyModule- Throws:
Exception
-
destroy
public void destroy() throws Exception- Specified by:
destroyin interfaceButterflyModule- Throws:
Exception
-
getServletConfig
public javax.servlet.ServletConfig getServletConfig()
- Specified by:
getServletConfigin interfaceButterflyModule
-
getServletContext
public javax.servlet.ServletContext getServletContext()
- Specified by:
getServletContextin interfaceButterflyModule
-
setClassLoader
public void setClassLoader(ClassLoader classLoader)
- Specified by:
setClassLoaderin interfaceButterflyModule
-
setPath
public void setPath(File path)
- Specified by:
setPathin interfaceButterflyModule
-
setName
public void setName(String name)
- Specified by:
setNamein interfaceButterflyModule
-
setExtended
public void setExtended(ButterflyModule extended)
- Specified by:
setExtendedin interfaceButterflyModule
-
addExtendedBy
public void addExtendedBy(ButterflyModule extendedBy)
- Specified by:
addExtendedByin interfaceButterflyModule
-
setMountPoint
public void setMountPoint(MountPoint mountPoint)
- Specified by:
setMountPointin interfaceButterflyModule
-
setImplementation
public void setImplementation(String id)
- Specified by:
setImplementationin interfaceButterflyModule
-
setDependency
public void setDependency(String name, ButterflyModule module)
- Specified by:
setDependencyin interfaceButterflyModule
-
setModules
public void setModules(Map<String,ButterflyModule> map)
- Specified by:
setModulesin interfaceButterflyModule
-
setScript
public void setScript(URL url, org.mozilla.javascript.Script script)
- Specified by:
setScriptin interfaceButterflyModule
-
setScriptable
public void setScriptable(ButterflyScriptableObject scriptable)
- Specified by:
setScriptablein interfaceButterflyModule
-
setTemplateEngine
public void setTemplateEngine(org.apache.velocity.app.VelocityEngine templateEngine)
- Specified by:
setTemplateEnginein interfaceButterflyModule
-
setProperties
public void setProperties(org.apache.commons.collections.ExtendedProperties properties)
- Specified by:
setPropertiesin interfaceButterflyModule
-
setMounter
public void setMounter(ButterflyMounter mounter)
- Specified by:
setMounterin interfaceButterflyModule
-
setTemporaryDir
public void setTemporaryDir(File tempDir)
-
setTimer
public void setTimer(Timer timer)
- Specified by:
setTimerin interfaceButterflyModule
-
getName
public String getName()
- Specified by:
getNamein interfaceButterflyModule
-
getPath
public File getPath()
- Specified by:
getPathin interfaceButterflyModule
-
getProperties
public org.apache.commons.collections.ExtendedProperties getProperties()
- Specified by:
getPropertiesin interfaceButterflyModule
-
getMountPoint
public MountPoint getMountPoint()
- Specified by:
getMountPointin interfaceButterflyModule
-
getMounter
public ButterflyMounter getMounter()
- Specified by:
getMounterin interfaceButterflyModule
-
getExtendedModule
public ButterflyModule getExtendedModule()
- Specified by:
getExtendedModulein interfaceButterflyModule
-
getExtendingModules
public Set<ButterflyModule> getExtendingModules()
-
getDependencies
public Map<String,ButterflyModule> getDependencies()
- Specified by:
getDependenciesin interfaceButterflyModule
-
getImplementations
public Set<String> getImplementations()
- Specified by:
getImplementationsin interfaceButterflyModule
-
getScriptables
public Set<ButterflyScriptableObject> getScriptables()
- Specified by:
getScriptablesin interfaceButterflyModule
-
getTemplateEngine
public org.apache.velocity.app.VelocityEngine getTemplateEngine()
- Specified by:
getTemplateEnginein interfaceButterflyModule
-
getModule
public ButterflyModule getModule(String name)
- Specified by:
getModulein interfaceButterflyModule
-
getResource
public URL getResource(String resource)
- Specified by:
getResourcein interfaceButterflyModule
-
getRelativePath
public String getRelativePath(javax.servlet.http.HttpServletRequest request)
- Specified by:
getRelativePathin interfaceButterflyModule
-
getFilteringWriter
public PrintWriter getFilteringWriter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, boolean absolute) throws IOException
- Specified by:
getFilteringWriterin interfaceButterflyModule- Throws:
IOException
-
getContextPath
public String getContextPath(javax.servlet.http.HttpServletRequest request, boolean absolute)
- Specified by:
getContextPathin interfaceButterflyModule
-
getString
public String getString(javax.servlet.http.HttpServletRequest request) throws IOException
- Specified by:
getStringin interfaceButterflyModule- Throws:
IOException
-
getTemporaryDir
public File getTemporaryDir()
- Specified by:
getTemporaryDirin interfaceButterflyModule
-
process
public boolean process(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
This method is called by Butterfly when preProcess returns false and allows modules that want to have a controller in Java instead of Javascript.- Specified by:
processin interfaceButterflyModule- Throws:
Exception
-
redirect
public boolean redirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String location) throws Exception- Specified by:
redirectin interfaceButterflyModule- Throws:
Exception
-
sendBinary
public boolean sendBinary(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String file, String mimeType) throws Exception- Specified by:
sendBinaryin interfaceButterflyModule- Throws:
Exception
-
sendBinary
public boolean sendBinary(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String mimeType) throws Exception- Specified by:
sendBinaryin interfaceButterflyModule- Throws:
Exception
-
sendText
public boolean sendText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String file, String encoding, String mimeType, boolean absolute) throws Exception- Specified by:
sendTextin interfaceButterflyModule- Throws:
Exception
-
sendText
public boolean sendText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String encoding, String mimeType, boolean absolute) throws Exception- Specified by:
sendTextin interfaceButterflyModule- Throws:
Exception
-
sendWrappedText
public boolean sendWrappedText(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, URL resource, String encoding, String mimeType, String prologue, String epilogue, boolean absolute) throws Exception- Specified by:
sendWrappedTextin interfaceButterflyModule- Throws:
Exception
-
sendTextFromTemplate
public boolean sendTextFromTemplate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.apache.velocity.VelocityContext velocity, String template, String encoding, String mimeType, boolean absolute) throws Exception- Specified by:
sendTextFromTemplatein interfaceButterflyModule- Throws:
Exception
-
sendLessen
public boolean sendLessen(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String path, String encoding, String mimeType, boolean absolute) throws Exception- Throws:
Exception
-
sendLessenTokenStream
public boolean sendLessenTokenStream(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, com.metaweb.lessen.tokenizers.Tokenizer tokenizer, String encoding, String mimeType, boolean absolute) throws Exception- Throws:
Exception
-
sendString
public boolean sendString(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String str, String encoding, String mimeType) throws Exception- Specified by:
sendStringin interfaceButterflyModule- Throws:
Exception
-
sendError
public boolean sendError(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int code, String str) throws Exception- Specified by:
sendErrorin interfaceButterflyModule- Throws:
Exception
-
makePath
public List<ButterflyModuleImpl.Level> makePath(String path, Map<String,String> descs)
- Specified by:
makePathin interfaceButterflyModule
-
initScope
public void initScope(org.mozilla.javascript.Context context, org.mozilla.javascript.Scriptable scope)- Specified by:
initScopein interfaceButterflyModule
-
processScript
protected boolean processScript(String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
- Throws:
Exception
-
getScope
protected ButterflyScope getScope(org.mozilla.javascript.Context context, javax.servlet.http.HttpServletRequest request) throws Exception
- Throws:
Exception
-
-