WikiEngine.java |
1 /** 2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. 3 * 4 * Permission is hereby granted, free of charge, to any person obtaining a copy 5 * of this software and associated documentation files (the "Software"), to deal 6 * in the Software without restriction, including without limitation the rights 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 * copies of the Software, and to permit persons to whom the Software is 9 * furnished to do so, subject to the following conditions: 10 * 11 * The above copyright notice and this permission notice shall be included in 12 * all copies or substantial portions of the Software. 13 * 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 * SOFTWARE. 21 */ 22 23 package com.liferay.portlet.wiki.engines; 24 25 import com.liferay.portlet.wiki.PageContentException; 26 import com.liferay.portlet.wiki.model.WikiPage; 27 28 import java.util.Map; 29 30 import javax.portlet.PortletURL; 31 32 /** 33 * <a href="WikiEngine.java.html"><b><i>View Source</i></b></a> 34 * 35 * @author Jorge Ferrer 36 */ 37 public interface WikiEngine { 38 39 /** 40 * Convert the content of the given page to HTML using the portletURL to 41 * build links. 42 * 43 * @return HTML string 44 */ 45 public String convert(WikiPage page, PortletURL portletURL) 46 throws PageContentException; 47 48 /** 49 * Get a map with the links included in the given page. The key of each map 50 * entry is the title of the linked page. The value is a Boolean object that 51 * indicates if the linked page exists or not. 52 * 53 * @return a map of links 54 */ 55 public Map<String, Boolean> getOutgoingLinks(WikiPage page) 56 throws PageContentException; 57 58 /** 59 * Set the configuraton to support quick links to other wikis. The format of 60 * the configuration is specific to the wiki engine. 61 */ 62 public void setInterWikiConfiguration(String interWikiConfiguration); 63 64 /** 65 * Set the main wiki configuraiton as a String. The format of the 66 * configuration is specific to the wiki engine. 67 */ 68 public void setMainConfiguration(String mainConfiguration); 69 70 /** 71 * Validate the content of a wiki page for this engine. 72 * 73 * @return true if the content is valid 74 */ 75 public boolean validate(long nodeId, String content); 76 77 }