001/* 002 Licensed to the Apache Software Foundation (ASF) under one 003 or more contributor license agreements. See the NOTICE file 004 distributed with this work for additional information 005 regarding copyright ownership. The ASF licenses this file 006 to you under the Apache License, Version 2.0 (the 007 "License"); you may not use this file except in compliance 008 with the License. You may obtain a copy of the License at 009 010 http://www.apache.org/licenses/LICENSE-2.0 011 012 Unless required by applicable law or agreed to in writing, 013 software distributed under the License is distributed on an 014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 KIND, either express or implied. See the License for the 016 specific language governing permissions and limitations 017 under the License. 018 */ 019package org.apache.wiki.htmltowiki; 020 021import org.apache.wiki.WikiContext; 022 023/** 024 * Defines a Wiki configuration to XHtmlToWikiTranslator, including things like 025 * URLs. 026 * 027 */ 028public class XHtmlToWikiConfig 029{ 030 private String m_outlink = "outlink"; 031 032 private String m_pageInfoJsp = "PageInfo.jsp"; 033 034 private String m_wikiJspPage = "Wiki.jsp?page="; 035 036 private String m_editJspPage = "Edit.jsp?page="; 037 038 private String m_attachPage = "attach?page="; 039 040 private String m_pageName; 041 042 /** 043 * Creates a new, empty config object. 044 */ 045 public XHtmlToWikiConfig() 046 {} 047 048 /** 049 * The constructor initializes the different internal fields 050 * according to the current URLConstructor. 051 * 052 * @param wikiContext A WikiContext 053 */ 054 public XHtmlToWikiConfig( WikiContext wikiContext ) 055 { 056 setWikiContext( wikiContext ); 057 058 // 059 // Figure out the actual URLs. 060 // 061 // NB: The logic here will fail if you add something else after 062 // the Wiki page name in VIEW or ATTACH 063 // 064 065 m_wikiJspPage = wikiContext.getURL( WikiContext.VIEW, "" ); 066 067 m_editJspPage = wikiContext.getURL( WikiContext.EDIT, "" ); 068 069 m_attachPage = wikiContext.getURL( WikiContext.ATTACH, "" ); 070 071 m_pageInfoJsp = wikiContext.getURL( WikiContext.INFO, "" ); 072 } 073 074 private void setWikiContext( WikiContext wikiContext ) 075 { 076 if( wikiContext.getPage() != null ) 077 { 078 setPageName( wikiContext.getPage().getName() + '/' ); 079 } 080 } 081 082 /** 083 * Return the URL for the attachments. 084 * 085 * @return URL for attachments. 086 */ 087 public String getAttachPage() 088 { 089 return m_attachPage; 090 } 091 092 /** 093 * Set the URL for attachments. 094 * 095 * @param attachPage The attachment URL. 096 */ 097 public void setAttachPage( String attachPage ) 098 { 099 m_attachPage = attachPage; 100 } 101 102 /** 103 * Gets the URL of the outlink image. 104 * 105 * @return The URL of the outlink image. 106 */ 107 public String getOutlink() 108 { 109 return m_outlink; 110 } 111 112 /** 113 * Set the outlink URL. 114 * 115 * @param outlink The outlink URL. 116 */ 117 public void setOutlink( String outlink ) 118 { 119 m_outlink = outlink; 120 } 121 122 /** 123 * Get the PageInfo.jsp URI. 124 * 125 * @return The URI for the page info display. 126 */ 127 public String getPageInfoJsp() 128 { 129 return m_pageInfoJsp; 130 } 131 132 /** 133 * Set the URI for the page info display. 134 * 135 * @param pageInfoJsp URI for the page info. 136 */ 137 public void setPageInfoJsp( String pageInfoJsp ) 138 { 139 m_pageInfoJsp = pageInfoJsp; 140 } 141 142 /** 143 * Get the page name. 144 * 145 * @return The Page Name. 146 */ 147 public String getPageName() 148 { 149 return m_pageName; 150 } 151 152 153 /** 154 * Set the page name. 155 * 156 * @param pageName The name of the page. 157 */ 158 public void setPageName( String pageName ) 159 { 160 m_pageName = pageName; 161 } 162 163 /** 164 * Get the URI to the Wiki.jsp view. 165 * 166 * @return The URI to the Wiki.jsp. 167 */ 168 public String getWikiJspPage() 169 { 170 return m_wikiJspPage; 171 } 172 173 /** 174 * Set the URI to the Wiki.jsp. 175 * 176 * @param wikiJspPage The URI to the Wiki.jsp. 177 */ 178 public void setWikiJspPage( String wikiJspPage ) 179 { 180 m_wikiJspPage = wikiJspPage; 181 } 182 183 /** 184 * Return the URI to the Edit.jsp page. 185 * 186 * @return The URI to the Edit.jsp page. 187 */ 188 public String getEditJspPage() 189 { 190 return m_editJspPage; 191 } 192 193 /** 194 * Set the URI to the Edit.jsp page. 195 * 196 * @param editJspPage The Edit.jsp URI. 197 */ 198 public void setEditJspPage( String editJspPage ) 199 { 200 m_editJspPage = editJspPage; 201 } 202}