JForumContext.java
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 4k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright (c) JForum Team
  3.  * All rights reserved.
  4.  * 
  5.  * Redistribution and use in source and binary forms, 
  6.  * with or without modification, are permitted provided 
  7.  * that the following conditions are met:
  8.  * 
  9.  * 1) Redistributions of source code must retain the above 
  10.  * copyright notice, this list of conditions and the 
  11.  * following  disclaimer.
  12.  * 2)  Redistributions in binary form must reproduce the 
  13.  * above copyright notice, this list of conditions and 
  14.  * the following disclaimer in the documentation and/or 
  15.  * other materials provided with the distribution.
  16.  * 3) Neither the name of "Rafael Steil" nor 
  17.  * the names of its contributors may be used to endorse 
  18.  * or promote products derived from this software without 
  19.  * specific prior written permission.
  20.  * 
  21.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 
  22.  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
  23.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
  24.  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
  25.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  26.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
  27.  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
  28.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  29.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
  30.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
  31.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
  32.  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
  33.  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
  34.  * IN CONTRACT, STRICT LIABILITY, OR TORT 
  35.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
  36.  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  37.  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
  38.  * 
  39.  * This file creating date: 11.10.2004
  40.  * The JForum Project
  41.  * http://www.jforum.net
  42.  */
  43. package net.jforum.context;
  44. import net.jforum.util.preferences.ConfigKeys;
  45. /**
  46.  * @author Marc Wick
  47.  * @version $Id: JForumContext.java,v 1.4 2006/09/09 21:32:37 rafaelsteil Exp $
  48.  */
  49. public class JForumContext implements ForumContext
  50. {
  51. private String contextPath;
  52. private String servletExtension;
  53. private RequestContext request;
  54. private ResponseContext response;
  55. private boolean isEncodingDisabled;
  56. private boolean isBot;
  57. public JForumContext(String contextPath, String servletExtension, 
  58. RequestContext request, ResponseContext response)
  59. {
  60. this.contextPath = contextPath;
  61. this.servletExtension = servletExtension;
  62. this.request = request;
  63. this.response = response;
  64. Boolean isBotObject = (Boolean) request.getAttribute(ConfigKeys.IS_BOT);
  65. this.isBot = (isBotObject != null && isBotObject.booleanValue());
  66. this.isEncodingDisabled = isBot;
  67. }
  68. public JForumContext(String contextPath, String servletExtension, 
  69. RequestContext request, ResponseContext response, boolean isEncodingDisabled)
  70. {
  71. this.contextPath = contextPath;
  72. this.servletExtension = servletExtension;
  73. this.request = request;
  74. this.response = response;
  75. this.isEncodingDisabled = isEncodingDisabled;
  76. Boolean isBotObject = (Boolean) request.getAttribute(ConfigKeys.IS_BOT);
  77. this.isBot = (isBotObject != null && isBotObject.booleanValue());
  78. }
  79. public boolean isBot()
  80. {
  81. return isBot;
  82. }
  83. public String encodeURL(String url)
  84. {
  85. return this.encodeURL(url, servletExtension);
  86. }
  87. public String encodeURL(String url, String extension)
  88. {
  89. String ucomplete = contextPath + url + extension;
  90. if (isEncodingDisabled()) {
  91. return ucomplete;
  92. }
  93. return response.encodeURL(ucomplete);
  94. }
  95. public boolean isEncodingDisabled()
  96. {
  97. return this.isEncodingDisabled;
  98. }
  99. public RequestContext getRequest()
  100. {
  101. return request;
  102. }
  103. public ResponseContext getResponse()
  104. {
  105. return response;
  106. }
  107. }