Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
  *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.sling.engine;
 
 import java.io.Writer;

Response-related utilities.

 
 public class ResponseUtil {
 
     private static class XmlEscapingWriter extends Writer {
         private final Writer target;
 
         XmlEscapingWriter(Writer target) {
             this. = target;
         }
 
         @Override
         public void close() throws IOException {
             .close();
         }
 
         @Override
         public void flush() throws IOException {
             .flush();
         }
 
         @Override
         public void write(char[] bufferint offsetint lengththrows IOException {
             for(int i = offseti < offset + lengthi++) {
                 write(buffer[i]);
             }
         }
 
         @Override
         public void write(char[] cbufthrows IOException {
             write(cbuf, 0, cbuf.length);
         }
 
         @Override
         public void write(int cthrows IOException {
             if(c == '&') {
                 .write("&amp;");
             } else if(c == '<') {
                 .write("&lt;");
             } else if(c == '>') {
                 .write("&gt;");
             } else {
                 .write(c);
             }
         }
 
         @Override
         public void write(String strint offint lenthrows IOException {
             write(str.toCharArray(), offlen);
         }
 
         @Override
         public void write(String strthrows IOException {
             write(str.toCharArray());
         }
     }

    
Escape xml text
 
     public static String escapeXml(String input) {
         if(input == null) {
             return null;
         }
 
         final StringBuilder b = new StringBuilder(input.length());
         for(int i = 0;i  < input.length(); i++) {
             final char c = input.charAt(i);
             if(c == '&') {
                 b.append("&amp;");
             } else if(c == '<') {
                 b.append("&lt;");
             } else if(c == '>') {
                 b.append("&gt;");
             } else {
                b.append(c);
            }
        }
        return b.toString();
    }

    
Return a Writer that writes escaped XML text to target
    public static Writer getXmlEscapingWriter(Writer target) {
        return new XmlEscapingWriter(target);
    }
New to GrepCode? Check out our FAQ X