Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * The MIT License
 *
 * Copyright (C) 2007 Asterios Raptis
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

import java.beans.XMLDecoder;

import java.io.ByteArrayInputStream;

import java.io.InputStream;

public class Main {
    /**
     * Creates from the given xml string an java object.
     * 
     * @param <T>
     *            the generic type
     * @param xmlString
     *            the xml string to transform to an java object.
     * @return the xml string
     */
    @SuppressWarnings("unchecked")
    public static <T> T toObjectWithXMLDecoder(final String xmlString) {

        XMLDecoder dec = null;
        T obj = null;
        try {
            final InputStream is = new ByteArrayInputStream(xmlString.getBytes());
            dec = new XMLDecoder(is);

            obj = (T) dec.readObject();

        } finally {
            if (dec != null) {
                dec.close();
            }
        }
        return obj;
    }
}