Академический Документы
Профессиональный Документы
Культура Документы
wiki.dspace.org/PluginManager
Three types of plugin:
-
-
-
singleton plugins
naed plugins
se!uence plugins
singleton plugins
key characteristic: only one ipleenting class
e"aple: site authentication
e"aple: site authentication
plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator
e"aple: site authentication
plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator
plugin.single.org.dspace.app.webui.SiteAuthenticator = com.hp.hpl.CustomAuthenticator
dspace.cfg:
#ooServlet.$ava:
SiteAuthenticator siteAuth = (SiteAuthenticator)
PluginManager.getSinglePlugin(SiteAuthenticator.class);
when to use:
%hen you need a unifor echanis to perfor a given function&
'ut don(t want to 'e constrained to that echanis forever.
when to use:
naed plugins
key characteristic: ultiple ipleentations availa'le& app choses one 'y nae
e"aple: crosswalks
e"aple: crosswalks
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets
e"aple: crosswalks
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets
dspace.cfg:
DisseminationCrosswalk #walk = (DisseminationCrosswalk)
PluginManager.get$amedPlugin(DisseminationCrosswalk.class% &dc');
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk =
org.dspace.content.Crosswalk.SimpleDCDisseminationCrosswalk = dc
org.dspace.content.Crosswalk.M!"SDisseminationCrosswalk = mets
#ooDisseinator.$ava
note:
naed plugins ust have naes )keys* that are uni!ue for the interface
note:
naes ay contain any characters other than
(&( and (+(& 'ut alphanueric is preferred
when to use:
when to use:
%hen you need ultiple ipleentations to 'e availa'le / supported
throughout the application& leaving the ipleenting classes to choose
which option to use.
se!uence plugins
key characteristic: ,stack of singletons-
e"aple: stacka'le authentication
plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
e"aple: stacka'le authentication
plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
e"aple: stacka'le authentication
dspace.cfg:
plugin.se(uence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.)*+,Authentication%
org.dspace.authenticate.PasswordAuthentication
AuthenticationManager.$ava:
pri-ate static AuthenticationMethod stack./ = (AuthenticationMethod./)
PluginManager.getPluginSe(uence(AuthenticationMethod.class);
when to use:
when to use:
%hen you want to pass the responsi'ility for processing through a
stack of ipleenting classes.
wiki.dspace.org/.ategory:/0%T0
wiki.dspace.org/1uide2to2Developing2with2DSpace
dspace-devel3lists.sourceforge.net