mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 14:35:52 +01:00
Add comment
This commit is contained in:
@@ -2,6 +2,10 @@ package plugin
|
||||
|
||||
import util.Version
|
||||
|
||||
/**
|
||||
* Trait for define plugin interface.
|
||||
* To provide plugin, put Plugin class which mixed in this trait into the package root.
|
||||
*/
|
||||
trait Plugin {
|
||||
|
||||
val pluginId: String
|
||||
@@ -9,8 +13,16 @@ trait Plugin {
|
||||
val description: String
|
||||
val versions: Seq[Version]
|
||||
|
||||
/**
|
||||
* This method is invoked in initialization of plugin system.
|
||||
* Register plugin functionality to PluginRegistry.
|
||||
*/
|
||||
def initialize(registry: PluginRegistry): Unit
|
||||
|
||||
/**
|
||||
* This method is invoked in shutdown of plugin system.
|
||||
* If the plugin has any resources, release them in this method.
|
||||
*/
|
||||
def shutdown(registry: PluginRegistry): Unit
|
||||
|
||||
}
|
||||
|
||||
@@ -73,14 +73,23 @@ class PluginRegistry {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides entry point to PluginRegistry.
|
||||
*/
|
||||
object PluginRegistry {
|
||||
|
||||
private val logger = LoggerFactory.getLogger(classOf[PluginRegistry])
|
||||
|
||||
private val instance = new PluginRegistry()
|
||||
|
||||
/**
|
||||
* Returns the PluginRegistry singleton instance.
|
||||
*/
|
||||
def apply(): PluginRegistry = instance
|
||||
|
||||
/**
|
||||
* Initializes all installed plugins.
|
||||
*/
|
||||
def initialize(conn: java.sql.Connection): Unit = {
|
||||
val pluginDir = new File(PluginHome)
|
||||
if(pluginDir.exists && pluginDir.isDirectory){
|
||||
|
||||
@@ -2,6 +2,9 @@ package plugin
|
||||
|
||||
import play.twirl.api.Html
|
||||
|
||||
/**
|
||||
* Defines result case classes returned by plugin controller.
|
||||
*/
|
||||
object Results {
|
||||
case class Redirect(path: String)
|
||||
case class Fragment(html: Html)
|
||||
|
||||
Reference in New Issue
Block a user