| WikiEngine.java |
1 /**
2 * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3 *
4 * The contents of this file are subject to the terms of the Liferay Enterprise
5 * Subscription License ("License"). You may not use this file except in
6 * compliance with the License. You can obtain a copy of the License by
7 * contacting Liferay, Inc. See the License for the specific language governing
8 * permissions and limitations under the License, including but not limited to
9 * distribution rights of the Software.
10 *
11 *
12 *
13 */
14
15 package com.liferay.portlet.wiki.engines;
16
17 import com.liferay.portlet.wiki.PageContentException;
18 import com.liferay.portlet.wiki.model.WikiPage;
19
20 import java.util.Map;
21
22 import javax.portlet.PortletURL;
23
24 /**
25 * <a href="WikiEngine.java.html"><b><i>View Source</i></b></a>
26 *
27 * @author Jorge Ferrer
28 */
29 public interface WikiEngine {
30
31 /**
32 * Convert the content of the given page to HTML using the view and edit
33 * URLs to build links.
34 *
35 * @return HTML string
36 */
37 public String convert(
38 WikiPage page, PortletURL viewPageURL, PortletURL editPageURL,
39 String attachmentURLPrefix)
40 throws PageContentException;
41
42 /**
43 * Get a map with the links included in the given page. The key of each map
44 * entry is the title of the linked page. The value is a Boolean object that
45 * indicates if the linked page exists or not.
46 *
47 * @return a map of links
48 */
49 public Map<String, Boolean> getOutgoingLinks(WikiPage page)
50 throws PageContentException;
51
52 /**
53 * Set the configuraton to support quick links to other wikis. The format of
54 * the configuration is specific to the wiki engine.
55 */
56 public void setInterWikiConfiguration(String interWikiConfiguration);
57
58 /**
59 * Set the main wiki configuraiton as a String. The format of the
60 * configuration is specific to the wiki engine.
61 */
62 public void setMainConfiguration(String mainConfiguration);
63
64 /**
65 * Validate the content of a wiki page for this engine.
66 *
67 * @return true if the content is valid
68 */
69 public boolean validate(long nodeId, String content);
70
71 }