Unknown macro: {rate}
GREYImplementation tracked in MAGNOLIA-3895@jira.GREY
Intro
- A selector is the part between the first selector delimiter and the extension of an URI. I.e. given a URI like
http://myserver/mypage~x~foo=bar~.html?param=baz¶m2=qux
and the tilde character as the delimiter, the entire selector is ~x~foo=bar. A selector can be split in turn into several selectors separated from each other by the same delimiter.
Rationale
- Selectors existed prior to Magnolia 4.5 and they use the . (dot) char as a delimiter. As Magnolia 4.5 introduces the possibility to have the dot . character in the node names (as by JCR specification see chapter 3 paragraph 2.2 of JCR 2.0 specs) the delimiter character needs to be changed.
Delimiter
info.magnolia.cms.core.Path
has aSELECTOR_DELIMITER
constant (a string) set as ~ (tilde).
Selector name-value pair
- a selector can now also be in the form name=value. I.e. given a URI
http://myserver/mypage~x~foo=bar~.html
foo=bar is name value selector. This kind of selector is exposed byMgnlContext.getAttribute(selectorName)
and has a "local" scope (similar to HttpServletRequest scope). Thus, in the current example,MgnlContext.getAttribute("foo")
will return the String "bar", whereasMgnlContext.getAttribute("foo", Context.SESSION_SCOPE)
orMgnlContext.getAttribute("foo", Context.APPLICATION_SCOPE)
will return null.
AggregationState
- this class exposes some methods to set and get selectors.
setSelector(String selector)
is currently used byinfo.magnolia.cms.filters.RepositoryMappingFilter
where the request URI is parsed and the selector part extracted.String getSelector()
returns the whole selector. I.e given the URIhttp://myserver/mypage~x~foo=bar~.html
this method will return the String x~foo=barString[] getSelectors()
returns the selector split into its discrete elements. I.e given the URIhttp://myserver/mypage~x~foo=bar~.html
this method will return an array of two elements containing the "x" and the "foo=bar" String(s)
SelectorUtil
- this is a utility class already existing before Magnolia 4.5. It provides two methods which are basically shortcuts to the getters in
AggregationState
:String getSelector()
String getSelector(int index)
Overview
Content Tools