|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PortalPolicyFilter
This class allow developers to put hooks to change portal mechanism behaviour. The standard behaviours of display.jsp call hooks in specificl order: Portal discovery:
Field Summary | |
---|---|
static String |
REVISION
|
Method Summary | |
---|---|
Category |
checkCategory(Category workingCategory,
Member loggedMember)
Hook called by display.jsp to update the working category. |
void |
checkCtxCategories(List ctxCategories)
Hook called by doInitPortal.jsp to update the contextual category list. |
void |
checkDisplay(DisplayContext context,
Category cat,
Member loggedMember)
Hook called by getDisplayContext() to update the content of context. |
void |
checkDisplay(DisplayContext context,
Member member,
Category home,
Member loggedMember)
Hook called by getDisplayContext() to update the content of context. |
void |
checkDisplay(DisplayContext context,
Publication pub,
Member loggedMember)
Hook called by getDisplayContext() to update the content of context. |
void |
checkDisplayContext(DisplayContext context)
Hook called by display.jsp to create the display context if it is null otherwise sendForbidden. |
String |
checkPermalink(String permalink,
Data data)
Deprecated. use checkPermalink(String, Data, Locale) |
String |
checkPermalink(String permalink,
Data data,
Locale userLocale)
Hook called by PortalManager.getPermalink() to update the way to render permalinks |
boolean |
checkPortal(PortalInterface portal,
Publication pub,
DisplayContext context,
Member loggedMember,
boolean skipRedirect,
boolean skipExact,
boolean modePreview,
boolean jcmsChoice)
Hook called by PortalManager to decide if the given portal may be used to display information. |
Publication |
checkPublication(Publication workingPublication,
Member loggedMember,
boolean isPreview)
Hook called by display.jsp to update the working publication. |
String |
checkRedirect(String redirectUrl,
PortalRedirect redirect,
DisplayContext context,
Member loggedMember)
Hook called by display.jsp to update the redirect url of PortletRedirect. |
void |
checkWorkingCategories(List workingCategories,
Publication pub,
Member loggedMember,
boolean skipRedirect,
boolean skipExact,
boolean modePreview,
Category[] ctxCategories)
Hook called by PortalManager to change the order between categories of a given publication. |
Workspace |
checkWorkspace(DisplayContext context,
Workspace workspace,
Member loggedMember)
Hook called by handleDisplayRequest() (in display.jsp) to update the working worskpace. |
void |
fillDescriptiveURLParameterMap(Map<String,String> paramMap,
Data data)
Fill the given map with custom parameters to be added to the descriptive URL |
void |
filterDisplayContext(PortalManager.DisplayContextParameters dcp)
Hook called by PortalManager to compute display context parameters. |
boolean |
getBooleanFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
boolean computedValue)
Returns an alternate value for the given boolean field and given Data. |
TreeSet<Category> |
getCategoryFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
TreeSet<Category> computedValue)
Returns an alternate value for the given Category field and given Data. |
PortalInterface |
getDefaultPortal(PortalInterface jcmsChoice,
Member loggedMember)
Hook called by PortalManager to compute the default PortalInterface of the given logged Member. |
String |
getDescriptiveURLId(String descriptiveUrl,
String id)
Retrieve the Data to display from the specified descriptive URL. |
String |
getDescriptiveURLLanguage(String descriptiveUrl,
String lang)
Retrieve the language in which to display the Data from the specified descriptive URL. |
String |
getDescriptiveURLPath(Data data,
Locale locale)
Returns the path of the descriptive URL to use for the specified Data and Locale. |
String |
getDescriptiveURLText(String descriptiveURLtext,
Data data,
Locale locale)
Returns the textual part of a descriptive URL built for the given Data. |
double |
getDoubleFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
double computedValue)
Returns an alternate value for the given double field and given Data. |
Object |
getFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
Object computedValue)
Returns an alternate value for the given field and given Data. |
Category |
getHomeCategory(Category jcmsChoice,
Member loggedMember)
Hook called by PortalManager to compute the home Category of the given logged Member. |
int |
getIntFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
int computedValue)
Returns an alternate value for the given int field and given Data. |
long |
getLongFieldValue(JcmsJspContext ctxt,
String fieldName,
Data data,
long computedValue)
Returns an alternate value for the given long field and given Data. |
void |
initHeaders(Map header,
String key,
JcmsJspContext context)
Initialise header data to include in HTML headers in the Front and Back Office. |
void |
initJavaScriptCodeSet(Set<String> jsCodeSet,
JcmsJspContext context)
Setup the javascript codes to be invoked on page load for current page. |
void |
initJavaScriptSet(Set<String> jsSet,
JcmsJspContext context)
Setup the javascript files to be included for current page. |
void |
setupHeaders(Map header,
String key,
JcmsJspContext context)
Setup header data to include in HTML headers in the Front and Back Office. |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Methods inherited from interface com.jalios.jcms.plugin.PluginComponent |
---|
init |
Field Detail |
---|
static final String REVISION
Method Detail |
---|
Category getHomeCategory(Category jcmsChoice, Member loggedMember)
PolicyManager.getHomeCategory(Category, Member)
.
jcmsChoice
- the jcms standard responseloggedMember
- the logged member
PortalInterface getDefaultPortal(PortalInterface jcmsChoice, Member loggedMember)
PolicyManager.getDefaultPortal(PortalInterface, Member)
.
jcmsChoice
- the jcms standard responseloggedMember
- the logged member
void filterDisplayContext(PortalManager.DisplayContextParameters dcp)
dcp
- PortalManager.DisplayContextParametersCategory checkCategory(Category workingCategory, Member loggedMember)
workingCategory
- the previous computed categoryloggedMember
- the logged member
Publication checkPublication(Publication workingPublication, Member loggedMember, boolean isPreview)
workingPublication
- the previous computed publicationloggedMember
- the logged memberisPreview
- boolean indicate preview mode
void checkCtxCategories(List ctxCategories)
ctxCategories
- the previous computed ctx categoriesPortalManager.getCtxCategories(HttpServletRequest)
boolean checkPortal(PortalInterface portal, Publication pub, DisplayContext context, Member loggedMember, boolean skipRedirect, boolean skipExact, boolean modePreview, boolean jcmsChoice)
portal
- the portal to checkpub
- the current publication if we work on a publicationcontext
- the display contextloggedMember
- the logged memberskipRedirect
- true for display portal, false for display or redirect portalskipExact
- true no to check "exact" featuremodePreview
- is preview mode activatedjcmsChoice
- the jcms standard response
PortalManager.checkPortal(Category, DisplayContext, Member, boolean, boolean)
void checkWorkingCategories(List workingCategories, Publication pub, Member loggedMember, boolean skipRedirect, boolean skipExact, boolean modePreview, Category[] ctxCategories)
pub
- the current publicationworkingCategories
- a sorted list of starting categories to work withloggedMember
- the logged memberskipRedirect
- true for display portal, false for display or redirect portalskipExact
- true no to check "exact" featuremodePreview
- is preview mode activatedctxCategories
- the contextual categories in request parametersPortalManager.findPortal(Publication, DisplayContext, Member, boolean, boolean, boolean, Category[])
void checkDisplay(DisplayContext context, Category cat, Member loggedMember)
context
- the computed datacat
- the requested categoryloggedMember
- the current logged membervoid checkDisplay(DisplayContext context, Publication pub, Member loggedMember)
context
- the computed datapub
- the requested publicationloggedMember
- the current logged membervoid checkDisplay(DisplayContext context, Member member, Category home, Member loggedMember)
context
- the computed datamember
- the requested memberhome
- the home category used in redirect urlloggedMember
- the current logged memberWorkspace checkWorkspace(DisplayContext context, Workspace workspace, Member loggedMember)
context
- the computed dataworkspace
- The workspaceloggedMember
- the logged member
void checkDisplayContext(DisplayContext context)
context
- the computed context or null if forbiddenString checkRedirect(String redirectUrl, PortalRedirect redirect, DisplayContext context, Member loggedMember)
redirectUrl
- The redirect urlredirect
- the PortalRedirectcontext
- the computed historyloggedMember
- the logged member
String checkPermalink(String permalink, Data data)
checkPermalink(String, Data, Locale)
permalink
- the computed permanent linkdata
- the working data
String checkPermalink(String permalink, Data data, Locale userLocale)
permalink
- the computed permanent linkdata
- the working data
String getDescriptiveURLText(String descriptiveURLtext, Data data, Locale locale)
descriptive-urls.text.enabled
is set to "true".
The given descriptiveURLtext is null or represents a custom descriptiveURLtext.
If the methods returns null then compute the default descriptive URL text
data
- the Data
for which the URL is built.descriptiveURLtext
- null or a custom descriptive urllocale
- the Locale
to use I18N and localized operation
String getDescriptiveURLPath(Data data, Locale locale)
IMPORTANT : This method is provided for extreme customization of
the descriptive URL, but it might break internal features if not modified properly.
Ensure to implement method getDescriptiveURLId(String, String)
at the same time.
Instead of implementing this method, the easiest way to modify descriptive URL is
to implement getDescriptiveURLText(String, Data, Locale)
in order to change the textual part of the descriptive URL and let JCMS perform all the rest.
data
- the Data
for which the URL is built, might be null.locale
- the Locale
to use I18N and localized operation
/jcms/
)
and without '/' at begining, for example my-unique-data-title
Return null if you want to let JCMS generate it, eg : id/my-data-title
.String getDescriptiveURLId(String descriptiveUrl, String id)
You only need to implement this method if you have modified getDescriptiveURLPath(Data, Locale)
.
descriptiveUrl
- a descriptive URL such as /jcms/id_42/some-text
or
anything starting with the DisplayServlet root mapping (usually /jcms/
) and
followed by value computed through getDescriptiveURLPath(Data, Locale)
id
- the ID already computed by JCMS (or null if none was found)
String getDescriptiveURLLanguage(String descriptiveUrl, String lang)
You only need to implement this method if you have modified getDescriptiveURLPath(Data, Locale)
.
descriptiveUrl
- a descriptive URL such as /jcms/id_42/en/some-text
or
anything starting with the DisplayServlet root mapping (usually /jcms/
) and
followed by value computed through getDescriptiveURLPath(Data, Locale)
lang
- the language already computed by JCMS (or null if none was found in the path, in which case default user language is used)
Channel.getLanguageList()
void fillDescriptiveURLParameterMap(Map<String,String> paramMap, Data data)
paramMap
- the parameter mapdata
- the Data
for which the URL is built, might be null.Object getFieldValue(JcmsJspContext ctxt, String fieldName, Data data, Object computedValue)
Data.getFieldValue(String)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
int getIntFieldValue(JcmsJspContext ctxt, String fieldName, Data data, int computedValue)
Data.getIntFieldValue(String)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
long getLongFieldValue(JcmsJspContext ctxt, String fieldName, Data data, long computedValue)
Data.getLongFieldValue(String)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
double getDoubleFieldValue(JcmsJspContext ctxt, String fieldName, Data data, double computedValue)
Data.getDoubleFieldValue(String)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
boolean getBooleanFieldValue(JcmsJspContext ctxt, String fieldName, Data data, boolean computedValue)
Data.getBooleanFieldValue(String)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
TreeSet<Category> getCategoryFieldValue(JcmsJspContext ctxt, String fieldName, Data data, TreeSet<Category> computedValue)
Data.getCategoryFieldValue(String, Member)
ctxt
- the JCmsJspContextfieldName
- the name of the called fielddata
- the Data object to work withcomputedValue
- the already computed value (using extra data)
void initHeaders(Map header, String key, JcmsJspContext context)
header
- the jcms Map headerkey
- the topic key (for javascript, css, ...)context
- the calling JcmsJspContextvoid setupHeaders(Map header, String key, JcmsJspContext context)
header
- the jcms Map headerkey
- the topic key (for javascript, css, ...)context
- the calling JcmsJspContextvoid initJavaScriptSet(Set<String> jsSet, JcmsJspContext context)
jsSet
- a set of relative file path (e.g. "js/custom/myfile.js")context
- the calling JcmsJspContextvoid initJavaScriptCodeSet(Set<String> jsCodeSet, JcmsJspContext context)
jsCodeSet
- a set of javascript code (e.g. "if (true) { alert('page loaded'); }")context
- the calling JcmsJspContext
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |