Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
 *
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the License). You may not use this file except in
 * compliance with the License.
 *
 * You can obtain a copy of the License at
 * https://opensso.dev.java.net/public/CDDLv1.0.html or
 * opensso/legal/CDDLv1.0.txt
 * See the License for the specific language governing
 * permission and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * Header Notice in each file and include the License file
 * at opensso/legal/CDDLv1.0.txt.
 * If applicable, add the following below the CDDL Header,
 * with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 *
 * $Id: XMLUtils.java,v 1.15 2009/10/19 18:19:20 asyhuang Exp $
 *
 */

public class Main {
    private static final String INVALID_XML_CHARACTERS = "[\u0000-\u0008\u000b-\u001f\ufffe\uffff]";

    /**
     * Removes invalid XML characters from the input text and then replaces XML special character <code>&</code>,
     * <code>&lt;</code>, <code>&gt;</code>, <code>"</code>, <code>'</code> with corresponding entity references.
     *
     * @param text The input that needs to be escaped. May be null.
     * @return String with the special characters replaced with entity references. May be null.
     */
    public static String escapeSpecialCharacters(String text) {
        text = removeInvalidXMLChars(text);
        if (text == null || text.isEmpty()) {
            return text;
        }
        final StringBuilder sb = new StringBuilder(text.length());

        for (int i = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            switch (c) {
            case '&':
                sb.append("&amp;");
                break;
            case '<':
                sb.append("&lt;");
                break;
            case '>':
                sb.append("&gt;");
                break;
            case '\"':
                sb.append("&quot;");
                break;
            case '\'':
                sb.append("&apos;");
                break;
            case '\n':
                sb.append("&#xA;");
                break;
            case '\r':
                sb.append("&#xD;");
                break;
            default:
                sb.append(c);
            }
        }
        return sb.toString();
    }

    /**
     * Remove invalid XML characters from a string.
     * @param text the text to cleanse.
     * @return cleansed text or the original string if it is null or empty
     */
    public static String removeInvalidXMLChars(String text) {
        if (text == null || text.isEmpty()) {
            return text;
        }
        return text.replaceAll(INVALID_XML_CHARACTERS, "");
    }
}