001 // Copyright 2009, 2010, 2011 The Apache Software Foundation 002 // 003 // Licensed under the Apache License, Version 2.0 (the "License"); 004 // you may not use this file except in compliance with the License. 005 // You may obtain a copy of the License at 006 // 007 // http://www.apache.org/licenses/LICENSE-2.0 008 // 009 // Unless required by applicable law or agreed to in writing, software 010 // distributed under the License is distributed on an "AS IS" BASIS, 011 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 012 // See the License for the specific language governing permissions and 013 // limitations under the License. 014 015 package org.apache.tapestry5.services; 016 017 import java.util.List; 018 import java.util.Locale; 019 020 /** 021 * Class that wraps an {@linkplain Request}, delegating all its methods. 022 * 023 * @since 5.1.0.1 024 */ 025 public class DelegatingRequest implements Request 026 { 027 028 private Request request; 029 030 /** 031 * No-arg constructor. It should only be used for testing purposes. 032 */ 033 public DelegatingRequest() 034 { 035 } 036 037 /** 038 * Constructor that receives a {@linkplain Request}. 039 * 040 * @param request 041 * a {@link Request}. It cannot be null. 042 */ 043 public DelegatingRequest(Request request) 044 { 045 setRequest(request); 046 } 047 048 /** 049 * Sets the delegate request. 050 * 051 * @param request 052 * a {@link Request}. It cannot be null. 053 */ 054 public void setRequest(Request request) 055 { 056 assert request != null; 057 this.request = request; 058 } 059 060 public Object getAttribute(String name) 061 { 062 return request.getAttribute(name); 063 } 064 065 public String getContextPath() 066 { 067 return request.getContextPath(); 068 } 069 070 public long getDateHeader(String name) 071 { 072 return request.getDateHeader(name); 073 } 074 075 public String getHeader(String name) 076 { 077 return request.getHeader(name); 078 } 079 080 public List<String> getHeaderNames() 081 { 082 return request.getHeaderNames(); 083 } 084 085 public Locale getLocale() 086 { 087 return request.getLocale(); 088 } 089 090 public String getMethod() 091 { 092 return request.getMethod(); 093 } 094 095 public String getParameter(String name) 096 { 097 return request.getParameter(name); 098 } 099 100 public List<String> getParameterNames() 101 { 102 return request.getParameterNames(); 103 } 104 105 public String[] getParameters(String name) 106 { 107 return request.getParameters(name); 108 } 109 110 public String getPath() 111 { 112 return request.getPath(); 113 } 114 115 public String getServerName() 116 { 117 return request.getServerName(); 118 } 119 120 public Session getSession(boolean create) 121 { 122 return request.getSession(create); 123 } 124 125 public boolean isRequestedSessionIdValid() 126 { 127 return request.isRequestedSessionIdValid(); 128 } 129 130 public boolean isSecure() 131 { 132 return request.isSecure(); 133 } 134 135 public boolean isXHR() 136 { 137 return request.isXHR(); 138 } 139 140 public void setAttribute(String name, Object value) 141 { 142 request.setAttribute(name, value); 143 } 144 145 public int getLocalPort() 146 { 147 return request.getLocalPort(); 148 } 149 150 public int getServerPort() 151 { 152 return request.getServerPort(); 153 } 154 155 public String getRemoteHost() 156 { 157 return request.getRemoteHost(); 158 } 159 }