1 /* 2 * File : $Source: /usr/local/cvs/opencms/src/org/opencms/validation/I_CmsXmlDocumentLinkValidatable.java,v $ 3 * Date : $Date: 2005/06/23 11:11:43 $ 4 * Version: $Revision: 1.5 $ 5 * 6 * This library is part of OpenCms - 7 * the Open Source Content Mananagement System 8 * 9 * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com) 10 * 11 * This library is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU Lesser General Public 13 * License as published by the Free Software Foundation; either 14 * version 2.1 of the License, or (at your option) any later version. 15 * 16 * This library is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * Lesser General Public License for more details. 20 * 21 * For further information about Alkacon Software GmbH, please see the 22 * company website: http://www.alkacon.com 23 * 24 * For further information about OpenCms, please see the 25 * project website: http://www.opencms.org 26 * 27 * You should have received a copy of the GNU Lesser General Public 28 * License along with this library; if not, write to the Free Software 29 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 30 */ 31 32 package org.opencms.validation; 33 34 import org.opencms.file.CmsObject; 35 import org.opencms.file.CmsResource; 36 37 import java.util.List; 38 39 /** 40 * HTML link validation of a Cms file is enabled if the file's resource type implements the 41 * interface I_CmsHtmlLinkValidatable. Cms files with resource types that do not implement 42 * this interface don't get validated on broken links for example when a project gets published. 43 * Thus, this interface serves to identify "validatable" Cms files in the OpenCms VFS.<p> 44 * 45 * HTML links are considered as href attribs in anchor tags and src attribs in image tags.<p> 46 * 47 * @author Thomas Weckert 48 * 49 * @version $Revision: 1.5 $ 50 * 51 * @since 6.0.0 52 */ 53 public interface I_CmsXmlDocumentLinkValidatable { 54 55 /** 56 * Returns a list with the Cms URIs of all linked resources (either via href attribs or img 57 * tags) in the (body) content of the specified Cms resource.<p> 58 * 59 * Implementations of this method must return an empty list, or better 60 * {@link java.util.Collections#EMPTY_LIST}, if no links are found at all.<p> 61 * 62 * Second, implementations of this method are responsible to filter out any "external" URLs 63 * pointing to targets outside the OpenCms VFS (http, https, mailto, ftp etc.) from the result 64 * list.<p> 65 * 66 * @param cms the current user's Cms object 67 * @param resource a CmsResource with links 68 * @return a list with the URIs of all linked resources (either via href attribs or img tags) 69 */ 70 List findLinks(CmsObject cms, CmsResource resource); 71 72 } 73