Package org.opencms.relations
Class CmsLink
java.lang.Object
org.opencms.relations.CmsLink
A single link entry in the link table.
- Since:
- 6.0.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Name of the internal attribute of the link node.static final String
Name of the name attribute of the elements node.static final String
Name of the type attribute of the elements node.static final String
request context attribute to pass in a custom link renderer.static final String
Default link name.static final CmsRelationType
Default link type.static final String
A dummy uri.static final String
Name of the anchor node.static final String
Name of the query node.static final String
Name of the target node.static final String
Name of the UUID node.static final CmsLink
Constant for the NULL link. -
Constructor Summary
ConstructorDescriptionCmsLink
(String name, CmsRelationType type, String uri, boolean internal) Creates a new link object without a reference to the xml page link element.CmsLink
(String name, CmsRelationType type, CmsUUID structureId, String uri, boolean internal) Creates a new link object without a reference to the xml page link element.CmsLink
(org.dom4j.Element element) Reconstructs a link object from the given XML node.CmsLink
(CmsLinkInfo linkInfo) Creates a new link from the given link info bean. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Checks and updates the structure id or the path of the target.boolean
A link is considered equal if the link target and the link type is equal.Returns the anchor of this link.org.dom4j.Element
Returns the xml node element representing this link object.Returns the processed link.Deprecated.getName()
Returns the macro name of this link.getParameter
(String name) Returns the first parameter value for the given parameter name.Returns the map of parameters of this link.Returns the set of available parameter names for this link.String[]
getParameterValues
(String name) Returns all parameter values for the given name.getQuery()
Returns the query of this link.Returns the resource this link points to, if it is an internal link and has already been initialized via checkConsistency.Deprecated.usegetSitePath(CmsObject)
insteadprotected String
getSitePath
(String uri) Helper method for getting the site path for a uri.getSitePath
(CmsObject cms) Returns the path of the link target relative to the current site.Return the site root if the target of this link is internal, ornull
otherwise.The structure id of the linked resource.Returns the target (destination) of this link.Gets the target with the query appended, if there is one.getType()
Returns the type of this link.getUri()
Returns the raw uri of this link.Deprecated.UsegetSitePath()
insteadint
hashCode()
boolean
Returns if the link is internal.Converts this link to a link info object.toString()
void
updateLink
(String uri) Updates the uri of this link with a new value.void
updateLink
(String target, String anchor, String query) Updates the uri of this link with a new target, anchor and query.
-
Field Details
-
ATTRIBUTE_INTERNAL
Name of the internal attribute of the link node.- See Also:
-
ATTRIBUTE_NAME
Name of the name attribute of the elements node.- See Also:
-
ATTRIBUTE_TYPE
Name of the type attribute of the elements node.- See Also:
-
DEFAULT_NAME
Default link name.- See Also:
-
DEFAULT_TYPE
Default link type. -
DUMMY_URI
A dummy uri.- See Also:
-
NODE_ANCHOR
Name of the anchor node.- See Also:
-
NODE_QUERY
Name of the query node.- See Also:
-
NODE_TARGET
Name of the target node.- See Also:
-
NODE_UUID
Name of the UUID node.- See Also:
-
NULL_LINK
Constant for the NULL link. -
CUSTOM_LINK_HANDLER
request context attribute to pass in a custom link renderer.- See Also:
-
-
Constructor Details
-
CmsLink
Creates a new link from the given link info bean.- Parameters:
linkInfo
- the link info bean
-
CmsLink
Reconstructs a link object from the given XML node.- Parameters:
element
- the XML node containing the link information
-
CmsLink
public CmsLink(String name, CmsRelationType type, CmsUUID structureId, String uri, boolean internal) Creates a new link object without a reference to the xml page link element.- Parameters:
name
- the internal name of this linktype
- the type of this linkstructureId
- the structure id of the linkuri
- the link uriinternal
- indicates if the link is internal within OpenCms
-
CmsLink
Creates a new link object without a reference to the xml page link element.- Parameters:
name
- the internal name of this linktype
- the type of this linkuri
- the link uriinternal
- indicates if the link is internal within OpenCms
-
-
Method Details
-
checkConsistency
Checks and updates the structure id or the path of the target.- Parameters:
cms
- the cms context
-
equals
A link is considered equal if the link target and the link type is equal. -
getAnchor
Returns the anchor of this link.- Returns:
- the anchor or null if undefined
-
getElement
Returns the xml node element representing this link object.- Returns:
- the xml node element representing this link object
-
getLink
Returns the processed link.- Parameters:
cms
- the current OpenCms user context, can benull
- Returns:
- the processed link
-
getLink
Deprecated.usegetLink(CmsObject)
instead, the process editor option is set using the OpenCms request context attributesReturns the processed link.- Parameters:
cms
- the current OpenCms user context, can benull
processEditorLinks
- this parameter is not longer used- Returns:
- the processed link
-
getName
Returns the macro name of this link.- Returns:
- the macro name name of this link
-
getParameter
Returns the first parameter value for the given parameter name.- Parameters:
name
- the name of the parameter- Returns:
- the first value for this name or
null
-
getParameterMap
Returns the map of parameters of this link.- Returns:
- the map of parameters
-
getParameterNames
Returns the set of available parameter names for this link.- Returns:
- the parameter names
-
getParameterValues
Returns all parameter values for the given name.- Parameters:
name
- the name of the parameter- Returns:
- all parameter values or
null
-
getQuery
Returns the query of this link.- Returns:
- the query or null if undefined
-
getResource
Returns the resource this link points to, if it is an internal link and has already been initialized via checkConsistency.Returns null otherwise.
- Returns:
- the resource this link points to
-
getSitePath
Deprecated.usegetSitePath(CmsObject)
insteadReturns the vfs link of the target if it is internal.- Returns:
- the full link destination or null if the link is not internal
-
getSitePath
Returns the path of the link target relative to the current site.- Parameters:
cms
- the CMS context- Returns:
- the site path
-
getSiteRoot
Return the site root if the target of this link is internal, ornull
otherwise.- Returns:
- the site root if the target of this link is internal, or
null
otherwise
-
getStructureId
The structure id of the linked resource.- Returns:
- structure id of the linked resource
-
getTarget
Returns the target (destination) of this link.- Returns:
- the target the target (destination) of this link
-
getTargetWithQuery
Gets the target with the query appended, if there is one.- Returns:
- the target with the query
-
getType
Returns the type of this link.- Returns:
- the type of this link
-
getUri
Returns the raw uri of this link.- Returns:
- the uri
-
getVfsUri
Deprecated.UsegetSitePath()
insteadReturns the vfs link of the target if it is internal.- Returns:
- the full link destination or null if the link is not internal
-
hashCode
-
isInternal
Returns if the link is internal.- Returns:
- true if the link is a local link
-
toLinkInfo
Converts this link to a link info object.- Returns:
- the link info object
-
toString
-
updateLink
Updates the uri of this link with a new value.Also updates the structure of the underlying XML page document this link belongs to.
Note that you can not update the "internal" or "type" values of the link, so the new link must be of same type (A, IMG) and also remain either an internal or external link.
- Parameters:
uri
- the uri to update this link withscheme://authority/path#anchor?query
-
updateLink
Updates the uri of this link with a new target, anchor and query.If anchor and/or query are
null
, this features are not used.Note that you can not update the "internal" or "type" values of the link, so the new link must be of same type (A, IMG) and also remain either an internal or external link.
Also updates the structure of the underlying XML page document this link belongs to.
- Parameters:
target
- the target (destination) of this linkanchor
- the anchor or null if undefinedquery
- the query or null if undefined
-
getSitePath
Helper method for getting the site path for a uri.- Parameters:
uri
- a VFS uri- Returns:
- the site path
-
getLink(CmsObject)
instead, the process editor option is set using the OpenCms request context attributes