You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RestrictedRenderResponse.java 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. /*
  2. * Copyright 2000-2018 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.server;
  17. import java.io.IOException;
  18. import java.io.OutputStream;
  19. import java.io.PrintWriter;
  20. import java.io.Serializable;
  21. import java.util.Collection;
  22. import java.util.Locale;
  23. import javax.portlet.CacheControl;
  24. import javax.portlet.PortletMode;
  25. import javax.portlet.PortletURL;
  26. import javax.portlet.RenderResponse;
  27. import javax.portlet.ResourceURL;
  28. import javax.servlet.http.Cookie;
  29. import org.w3c.dom.DOMException;
  30. import org.w3c.dom.Element;
  31. /**
  32. * Read-only wrapper for a {@link RenderResponse}.
  33. *
  34. * Only for use by {@link PortletApplicationContext} and
  35. * {@link VaadinPortletSession}.
  36. */
  37. class RestrictedRenderResponse implements RenderResponse, Serializable {
  38. private final RenderResponse response;
  39. RestrictedRenderResponse(RenderResponse response) {
  40. this.response = response;
  41. }
  42. @Override
  43. public void addProperty(String key, String value) {
  44. response.addProperty(key, value);
  45. }
  46. @Override
  47. public PortletURL createActionURL() {
  48. return response.createActionURL();
  49. }
  50. @Override
  51. public PortletURL createRenderURL() {
  52. return response.createRenderURL();
  53. }
  54. @Override
  55. public String encodeURL(String path) {
  56. return response.encodeURL(path);
  57. }
  58. @Override
  59. public void flushBuffer() throws IOException {
  60. // NOP
  61. // TODO throw?
  62. }
  63. @Override
  64. public int getBufferSize() {
  65. return response.getBufferSize();
  66. }
  67. @Override
  68. public String getCharacterEncoding() {
  69. return response.getCharacterEncoding();
  70. }
  71. @Override
  72. public String getContentType() {
  73. return response.getContentType();
  74. }
  75. @Override
  76. public Locale getLocale() {
  77. return response.getLocale();
  78. }
  79. @Override
  80. public String getNamespace() {
  81. return response.getNamespace();
  82. }
  83. @Override
  84. public OutputStream getPortletOutputStream() throws IOException {
  85. // write forbidden
  86. return null;
  87. }
  88. @Override
  89. public PrintWriter getWriter() throws IOException {
  90. // write forbidden
  91. return null;
  92. }
  93. @Override
  94. public boolean isCommitted() {
  95. return response.isCommitted();
  96. }
  97. @Override
  98. public void reset() {
  99. // NOP
  100. // TODO throw?
  101. }
  102. @Override
  103. public void resetBuffer() {
  104. // NOP
  105. // TODO throw?
  106. }
  107. @Override
  108. public void setBufferSize(int size) {
  109. // NOP
  110. // TODO throw?
  111. }
  112. @Override
  113. public void setContentType(String type) {
  114. // NOP
  115. // TODO throw?
  116. }
  117. @Override
  118. public void setProperty(String key, String value) {
  119. response.setProperty(key, value);
  120. }
  121. @Override
  122. public void setTitle(String title) {
  123. response.setTitle(title);
  124. }
  125. @Override
  126. public void setNextPossiblePortletModes(
  127. Collection<PortletMode> portletModes) {
  128. // NOP
  129. // TODO throw?
  130. }
  131. @Override
  132. public ResourceURL createResourceURL() {
  133. return response.createResourceURL();
  134. }
  135. @Override
  136. public CacheControl getCacheControl() {
  137. return response.getCacheControl();
  138. }
  139. @Override
  140. public void addProperty(Cookie cookie) {
  141. // NOP
  142. // TODO throw?
  143. }
  144. @Override
  145. public void addProperty(String key, Element element) {
  146. // NOP
  147. // TODO throw?
  148. }
  149. @Override
  150. public Element createElement(String tagName) throws DOMException {
  151. // NOP
  152. return null;
  153. }
  154. }