/* * Copyright (C) 2003-2008 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see<http://www.gnu.org/licenses/>. */ package org.exoplatform.services.wcm.link; import java.util.List; import javax.jcr.Node; /** * Created by The eXo Platform SAS * Author : Phan Le Thanh Chuong * chuong_phan@exoplatform.com * Aug 6, 2008 */ public interface LiveLinkManagerService { /** * Get all link existed in all portal and update status for them (live or broken) * * @throws Exception the exception */ public void updateLinks() throws Exception; /** * Get all link existed in specified portal and update status for them (live or broken) * * @param portalName the portal name * * @throws Exception the exception */ public void updateLinks(String portalName) throws Exception; /** * Gets the broken links by portal. * * @param portalName the portal name * * @return the broken links * * @throws Exception the exception */ public List<LinkBean> getBrokenLinks(String portalName) throws Exception; /** * Gets the broken links by web content. * * @param webContent the web content * * @return the broken links * * @throws Exception the exception */ public List<String> getBrokenLinks(Node webContent) throws Exception ; /** * Extract all link (<code>a</code>, <code>iframe</code>, <code>frame</code>, <code>href</code>) * and all image (<code>img</code>) from html document * * @param htmlFile the node html file * * @return the list of link's URL * * @throws Exception the exception */ public List<String> extractLinks(Node htmlFile) throws Exception ; /** * Add exo:links (multi value) property of exo:linkable node type to web content node, with pattern * * @param webContent the current web content node * @param newLinks the list of new links will be updated * * @throws Exception the exception */ public void updateLinkDataForNode(Node webContent, List<String> newLinks) throws Exception ; }