HtmlEncoder.java :  » J2EE » Enhydra-Application-Framework » com » lutris » util » Java Open Source

Java Open Source » J2EE » Enhydra Application Framework 
Enhydra Application Framework » com » lutris » util » HtmlEncoder.java

/*
 * Enhydra Java Application Server Project
 * 
 * The contents of this file are subject to the Enhydra Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License on
 * the Enhydra web site ( http://www.enhydra.org/ ).
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 
 * the License for the specific terms governing rights and limitations
 * under the License.
 * 
 * The Initial Developer of the Enhydra Application Server is Lutris
 * Technologies, Inc. The Enhydra Application Server and portions created
 * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
 * All Rights Reserved.
 * 
 * Contributor(s):
 * 
 * $Id: HtmlEncoder.java,v 1.2 2006-06-15 13:47:01 sinisa Exp $
 */




package com.lutris.util;

/**
 * This class contains a utility method for encoding a
 * <code>String</code> so that it may be safely embedded within
 * a HTML document without affecting the formatting of the
 * document.<p>
 *
 * The following characters are encoded:
 * <p>
 * <ul>
 * <li> &lt;
 * <li> &gt;
 * <li> &amp;
 * <li> &#39;
 * <li> &quot;
 * <li> &#92;
 * <li> &#133;
 * </ul>
 *
 * @author Kyle Clark
 */
public final class HtmlEncoder {

    /**
     * Translates a string into a HTML safe format.
     *
     * @param s the string to encode
     * @return the encoded string
     */
    public static String encode(String s) {
        char [] htmlChars = s.toCharArray();
        StringBuffer encodedHtml = new StringBuffer();
        for (int i=0; i<htmlChars.length; i++) {
            switch(htmlChars[i]) {
            case '<':
                encodedHtml.append("&lt;");
                break;
            case '>':
                encodedHtml.append("&gt;");
                break;
            case '&':
                encodedHtml.append("&amp;");
                break;
            case '\'':
                encodedHtml.append("&#39;");
                break;
            case '"':
                encodedHtml.append("&quot;");
                break;
            case '\\':
                encodedHtml.append("&#92;");
                break;
            case (char)133:
                encodedHtml.append("&#133;");
                break;
            default:
                encodedHtml.append(htmlChars[i]);
                break;
            }
        }
        return encodedHtml.toString();
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.