public interface HstLink
HstLink is the object representing a link. The getPath()
return you the value of the link, and getPathElements()
returns you the path splitted on "/"'s. The String[] version is more practical because the HttpServletResponse.encodeURL(String)
also encodes slashes.
Furthermore, the HstSite
that the link is meant for is accessible through this HstLink, because it is needed if the link is
out of the scope of the current HstSite. The HstSite can access the VirtualHost
through which
in turn even links to different hosts can be created.
Note do *not* use HstLink
objects in caches and do *not* store them on http sessions (for example last
visited URLs). HstLink objects hold references to the backing hst model, which should be by accident held from
garbage collection due to objects retaining it (by accident)
Modifier and Type | Method and Description |
---|---|
boolean |
getContainerResource()
Deprecated.
since CMS 10.0, HSTTWO 2.30.00. Use
isContainerResource() instead |
HstSiteMapItem |
getHstSiteMapItem() |
Mount |
getMount() |
String |
getPath()
Note: This is *not* a url!
|
String[] |
getPathElements() |
String |
getSubPath()
Returns the subPath of this
HstLink object. |
boolean |
isContainerResource()
When
isContainerResource() returns true , the resulting URL will be webapp relative and not
relative to Mount.getMountPath() |
boolean |
isNotFound()
When for example for some bean the (real) link cannot be created through the HstLinkCreator, a HstLink can be returned
with a path that is for example from some configured property like '/pagenotfound'.
|
void |
setContainerResource(boolean containerResource) |
void |
setNotFound(boolean notFound) |
void |
setPath(String path)
(re)-sets the path of the HstLink
|
void |
setSubPath(String subPath)
sets the
subPath of this HstLink . |
String |
toUrlForm(HstRequestContext requestContext,
boolean fullyQualified) |
String getPath()
void setPath(String path)
path
- String getSubPath()
HstLink
object. This part will be appended to the getPath()
and delimited by ./
. It will be before the queryString.
Note that an empty String
subPath
will result in a URL having a ./
appended: An empty
subPath
is thus something different then a null
subPath
.HstLink
object.void setSubPath(String subPath)
subPath
of this HstLink
. Note that setting the subPath
to an empty String
will result in a URL having a ./
appended: An empty
subPath
is thus something different then a null
subPath
.subPath
- @Deprecated boolean getContainerResource()
isContainerResource()
insteadboolean isContainerResource()
When isContainerResource()
returns true
, the resulting URL will be webapp relative and not
relative to Mount.getMountPath()
When isContainerResource()
returns false
, the resulting URL WILL include the
Mount.getMountPath()
after the webapp relative part (context path).
true
when the HstLink represents a container resource, like a repository binary, a web file
or a static css file served by the container.void setContainerResource(boolean containerResource)
containerResource
- sets whether this HstLink
is a containerResource
or not.isContainerResource()
String toUrlForm(HstRequestContext requestContext, boolean fullyQualified)
requestContext
- fullyQualified
- if true, the returned link is a fully qualified URL, in other words including http/https etcString[] getPathElements()
getPath()
splitted on slashesMount getMount()
Mount
that can represent this link. This might be an Mount
which is a different one then the
Mount
the link was created in. This could result in a cross-domain (different hostname) link being created, depending
on the backing Mount.getVirtualHost()
. If no Mount
is set, null
can be returnedHstSiteMapItem getHstSiteMapItem()
HstSiteMapItem
that matches this HstLink
or null
if this HstLink
cannot
be matched to any HstSiteMapItem
boolean isNotFound()
true
it indicates that the link is some hardcoded path for beans that cannot be linked totrue
when this HstLink indicates to be a link that is actually a notFound linkvoid setNotFound(boolean notFound)
notFound
- true whether this HstLink is actually a notFound linkCopyright © 2008–2017 Hippo B.V. (http://www.onehippo.com). All rights reserved.