Supply API to work with the linked node or the link included in a node.

_Package org.exoplatform.services.cms.link.LinkManager_

|| *Method* || *Return* || *Prototype* || *Description* ||
| *createLink*  | {{Node}} | {{createLink(Node parent, String linkType, Node target)}} {example}{example} {{throws RepositoryException;}} | Creates a new link that is added to the parent node and returns the link. {example}{example} @param parent: The parent node of the link. {example}{example} @param linkType: The primary node type of the link must be a sub-type of exo:symlink, the default value is "exo:symlink" {example}{example} @param target The target of the link. {example}{example} @throws RepositoryException: if the link cannot be created for any reason. |
| *createLink* | {{Node}} | {{createLink(Node parent, Node target)}} {example}{example} {{throws RepositoryException;}} | Creates a new node of type exo:symlink, then adds it to the parent node and returns the link node. {example}{example} {example}{example} @param parent: The parent node of the link to create. {example}{example} @param target: The target of the link. {example}{example} @throws RepositoryException: if the link cannot be created for any reason.  |
| *createLink* | {{Node}} | {{createLink(Node parent, String linkType, Node target, String linkName)}} {example}{example} {{throws RepositoryException;}} | Creates a new link that is added to the parent node and returns the link. {example}{example}@param parent: The parent node of the link. {example}{example} @param linkType: The primary node type of the link must be a sub-type of exo:symlink, the default value is exo:symlink. {example}{example} @param target: The target of the link. {example}{example} @param linkName: The name of the link. {example}{example} @return {example}{example} @throws RepositoryException: if the link cannot be created for any reason. |
| *updateLink* | {{Node}} | {{updateLink(Node link, Node target)}} {example}{example} {{throws RepositoryException;}} | Updates the target node of the given link. {example}{example} @param link: The link node to update. {example}{example} @param target: The new target of the link. {example}{example} @throws RepositoryException: if the link cannot be updated for any reason. |
| *getTarget*  | {{Node}} | {{getTarget(Node link, boolean system) throws ItemNotFoundException, }}{example}{example}{{ RepositoryException; }} | Gets the target node of the given link. {example}{example} @param link: The node of type exo:symlink. {example}{example} @param system: Indicates whether the target node must be retrieved using a session system or user session in case we cannot use the same session as the node link because the target and the link are not in the same workspace. {example}{example} @throws ItemNotFoundException: if the target node cannot be found. {example}{example} @throws RepositoryException: if an unexpected error occurs while retrieving the target node. |
| *getTarget* | {{Node}} | {{getTarget(Node link)}} {example}{example}{{ throws ItemNotFoundException, RepositoryException;}} | Gets the target node of the given link using the user.{example}{example}@param link: The node of type exo:symlink. {example}{example} @throws ItemNotFoundException: if the target node cannot be found.{example}{example} @throws RepositoryException: if an unexpected error occurs while retrieving the target node. |
| *isTargetReachable* | {{boolean}} | {{isTargetReachable(Node link)}} {example}{example}{{ throws RepositoryException;}} | Checks if the target node of the given link can be reached using the user session. {example}{example} @param link: The node of type exo:symlink. {example}{example} @throws RepositoryException: if an unexpected error occurs .|
| *isTargetReachable* | {{boolean}} | {{isTargetReachable(Node link, boolean system)}} {example}{example}{{ throws RepositoryException;}} | Checks if the target node of the given link can be reached using the user session. {example}{example} @param link: The node of type exo:symlink. {example}{example} @param system {example}{example} @throws RepositoryException if an unexpected error occurs. |
| *isLink* | {{boolean}} | {{isLink(Item item)}} {example}{example}{{ throws RepositoryException;}} | Indicates whether the given item is a link.{example}{example} @param item: the item to test. {example}{example} @return <code>true</code>: if the node is a link, <code>false</code> otherwise. {example}{example} @throws RepositoryException: if an unexpected error occurs. |
| *getTargetPrimaryNodeType* | {{String}} | {{getTargetPrimaryNodeType(Node link)}} {example}{example}{{throws RepositoryException;}} | Gives the primary node type of the target.{example}{example} @param link: The node of type exo:symlink. {example}{example} @return: the primary node type of the target {example}{example} @throws RepositoryException: if an unexpected error occurs. |
| *getAllLinks* | {{List<Node>}} | {{getAllLinks(Node targetNode, String linkType, String repoName)}} {example}{example}{{{}throws Exception;}} | Gives all links of the given node.{example}{example} @param targetNode: The target node to get links. {example}{example} @param linkType: The type of link to get. {example}{example} @param repoName: Name of the repository. {example}{example} @return: the list of link of the target node with given type. {example}{example} @throw Exception |
